diff --git a/Sources/Integration/Client.swift b/Sources/Integration/Client.swift
index 450c674ebc5647268114eb3b251e6b56c12efca4..8fc201af93fe681852c550f62965029316e00811 100644
--- a/Sources/Integration/Client.swift
+++ b/Sources/Integration/Client.swift
@@ -93,8 +93,6 @@ public class Client {
             fatalError("Trying to add json parameters to backup but no backup manager created yet")
         }
 
-        print("^^^ Set params: \(string) to backup")
-
         backupManager.addJson(string)
     }
 
diff --git a/Sources/Integration/Session/Session.swift b/Sources/Integration/Session/Session.swift
index f85a6c6f0e3350e20c2bb234e6a92935e589b01f..fee3c76c0313d7faf9b78d53eb18525b82833166 100644
--- a/Sources/Integration/Session/Session.swift
+++ b/Sources/Integration/Session/Session.swift
@@ -140,8 +140,6 @@ public final class Session: SessionType {
             }
         }
 
-        print("^^^ \(report.parameters)")
-
         guard username!.isEmpty == false else {
             fatalError("Trying to restore an account that has no username")
         }
diff --git a/Sources/ScanFeature/Views/ScanView.swift b/Sources/ScanFeature/Views/ScanView.swift
index 7aff4cf2c85928c1e9ef71bcebe2590b0eb1cf09..540f68f524bac7122bb0db21111c62e1aaddb454 100644
--- a/Sources/ScanFeature/Views/ScanView.swift
+++ b/Sources/ScanFeature/Views/ScanView.swift
@@ -80,12 +80,12 @@ final class ScanView: UIView {
                 actionButton.isHidden = false
 
             case .alreadyFriends(let name):
-                text = Localized.Scan.Error.friends(name)
+                text = Localized.Scan.Error.alreadyFriends(name)
                 actionButton.setTitle(Localized.Scan.contact, for: .normal)
                 actionButton.isHidden = false
 
             case .cameraPermission:
-                text = Localized.Scan.Error.denied
+                text = Localized.Scan.Error.cameraPermissionNeeded
                 actionButton.setTitle(Localized.Scan.settings, for: .normal)
                 actionButton.isHidden = false
 
diff --git a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift
index 30f77b191cbd9115f856d6133a2df3b2fa01fb0b..6c0a8390f2c65ad407e77f058a0d30fd0ab6a20e 100644
--- a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift
+++ b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift
@@ -126,12 +126,20 @@ final class SearchLeftViewModel {
 
         let localsQuery = Contact.Query(text: stateSubject.value.input, authStatus: [.friend])
 
-        if let locals = try? session.dbManager.fetchContacts(localsQuery), locals.count > 0 {
-            let localsWithoutMe = locals.filter { $0.id != session.myId }
+        if let locals = try? session.dbManager.fetchContacts(localsQuery),
+           let localsWithoutMe = removeMyself(from: locals),
+           localsWithoutMe.isEmpty == false {
             snapshot.appendSections([.connections])
-            snapshot.appendItems(localsWithoutMe.map(SearchItem.connection), toSection: .connections)
+            snapshot.appendItems(
+                localsWithoutMe.map(SearchItem.connection),
+                toSection: .connections
+            )
         }
 
         stateSubject.value.snapshot = snapshot
     }
+
+    private func removeMyself(from collection: [Contact]) -> [Contact]? {
+        collection.filter { $0.id != session.myId }
+    }
 }
diff --git a/Sources/SearchFeature/Views/SearchRightView.swift b/Sources/SearchFeature/Views/SearchRightView.swift
index 363808754852969a75c3c811836faa9b40455034..c2fd74760c79e8799c31bb91b0f73a85d4d5cd98 100644
--- a/Sources/SearchFeature/Views/SearchRightView.swift
+++ b/Sources/SearchFeature/Views/SearchRightView.swift
@@ -39,51 +39,39 @@ final class SearchRightView: UIView {
     required init?(coder: NSCoder) { nil }
 
     func update(status: ScanningStatus) {
-        var text: String
+        setupTitle(for: status)
+        setupImageView(for: status)
+        setupActionButton(for: status)
+        setupCornerColors(for: status)
+        setupAnimationView(for: status)
+    }
 
-        switch status {
-        case .reading, .processing:
-            imageView.isHidden = true
-            actionButton.isHidden = true
-            text = Localized.Scan.Status.reading
-            overlayView.updateCornerColor(Asset.brandPrimary.color)
+    private func setupTitle(for status: ScanningStatus) {
+        let title: String
 
+        switch status {
         case .success:
-            animationView.isHidden = true
-            actionButton.isHidden = true
-            imageView.isHidden = false
-            imageView.image = Asset.sharedSuccess.image
-            text = Localized.Scan.Status.success
-            overlayView.updateCornerColor(Asset.accentSuccess.color)
-
-        case .failed(let error):
-            animationView.isHidden = true
-            imageView.image = Asset.scanError.image
-            imageView.isHidden = false
-            overlayView.updateCornerColor(Asset.accentDanger.color)
+            title = Localized.Scan.Status.success
+        case .reading:
+            title = Localized.Scan.Status.reading
+        case .processing:
+            title = Localized.Scan.Status.processing
+
+        case .failed(let scanningError):
+            switch scanningError {
+            case .unknown(let content):
+                title = content
 
-            switch error {
             case .requestOpened:
-                text = Localized.Scan.Error.requested
-                actionButton.setTitle(Localized.Scan.requests, for: .normal)
-                actionButton.isHidden = false
-
+                title = Localized.Scan.Error.requested
             case .alreadyFriends(let name):
-                text = Localized.Scan.Error.friends(name)
-                actionButton.setTitle(Localized.Scan.contact, for: .normal)
-                actionButton.isHidden = false
-
+                title = Localized.Scan.Error.alreadyFriends(name)
             case .cameraPermission:
-                text = Localized.Scan.Error.denied
-                actionButton.setTitle(Localized.Scan.settings, for: .normal)
-                actionButton.isHidden = false
-
-            case .unknown(let content):
-                text = content
+                title = Localized.Scan.Error.cameraPermissionNeeded
             }
         }
 
-        let attString = NSMutableAttributedString(string: text)
+        let attString = NSMutableAttributedString(string: title)
         let paragraph = NSMutableParagraphStyle()
         paragraph.alignment = .center
         paragraph.lineHeightMultiple = 1.35
@@ -92,13 +80,71 @@ final class SearchRightView: UIView {
         attString.addAttribute(.foregroundColor, value: Asset.neutralWhite.color)
         attString.addAttribute(.font, value: Fonts.Mulish.regular.font(size: 14.0) as Any)
 
-        if text.contains("#") {
+        if title.contains("#") {
             attString.addAttribute(name: .foregroundColor, value: Asset.brandPrimary.color, betweenCharacters: "#")
         }
 
         statusLabel.attributedText = attString
     }
 
+    private func setupImageView(for status: ScanningStatus) {
+        let image: UIImage?
+
+        switch status {
+        case .reading, .processing:
+            image = nil
+        case .success:
+            image = Asset.sharedSuccess.image
+        case .failed(_):
+            image = Asset.scanError.image
+        }
+
+        imageView.image = image
+        imageView.isHidden = image == nil
+    }
+
+    private func setupActionButton(for status: ScanningStatus) {
+        let buttonTitle: String?
+
+        switch status {
+        case .failed(.requestOpened):
+            buttonTitle = Localized.Scan.requests
+        case .failed(.alreadyFriends(_)):
+            buttonTitle = Localized.Scan.contact
+        case .failed(.cameraPermission):
+            buttonTitle = Localized.Scan.settings
+        case .reading, .processing, .success, .failed(.unknown(_)):
+            buttonTitle = nil
+        }
+
+        actionButton.setTitle(buttonTitle, for: .normal)
+        actionButton.isHidden = buttonTitle == nil
+    }
+
+    private func setupCornerColors(for status: ScanningStatus) {
+        let color: UIColor
+
+        switch status {
+        case .reading, .processing:
+            color = Asset.brandPrimary.color
+        case .success:
+            color = Asset.accentSuccess.color
+        case .failed(_):
+            color = Asset.accentDanger.color
+        }
+
+        overlayView.updateCornerColor(color)
+    }
+
+    private func setupAnimationView(for status: ScanningStatus) {
+        switch status {
+        case .reading, .processing:
+            animationView.isHidden = false
+        case .success, .failed(_):
+            animationView.isHidden = true
+        }
+    }
+
     private func setupConstraints() {
         overlayView.snp.makeConstraints {
             $0.top.equalToSuperview()
diff --git a/Sources/Shared/AutoGenerated/Strings.swift b/Sources/Shared/AutoGenerated/Strings.swift
index ed861800297b7c53e92a0e83f19aa322de123ec4..315babf8e14569c98f9ea0f2513962566f9bfef8 100644
--- a/Sources/Shared/AutoGenerated/Strings.swift
+++ b/Sources/Shared/AutoGenerated/Strings.swift
@@ -1010,13 +1010,13 @@ public enum Localized {
       }
     }
     public enum Error {
-      /// Camera needs permission to be used
-      public static let denied = Localized.tr("Localizable", "scan.error.denied")
       /// You've already added 
       /// #%@#
-      public static func friends(_ p1: Any) -> String {
-        return Localized.tr("Localizable", "scan.error.friends", String(describing: p1))
+      public static func alreadyFriends(_ p1: Any) -> String {
+        return Localized.tr("Localizable", "scan.error.alreadyFriends", String(describing: p1))
       }
+      /// Camera needs permission to be used
+      public static let cameraPermissionNeeded = Localized.tr("Localizable", "scan.error.cameraPermissionNeeded")
       /// Something’s gone wrong. Please try again.
       public static let general = Localized.tr("Localizable", "scan.error.general")
       /// Invalid QR code
@@ -1039,6 +1039,8 @@ public enum Localized {
       public static let `right` = Localized.tr("Localizable", "scan.segmentedControl.right")
     }
     public enum Status {
+      /// Processing...
+      public static let processing = Localized.tr("Localizable", "scan.status.processing")
       /// Place QR code inside frame to scan
       public static let reading = Localized.tr("Localizable", "scan.status.reading")
       /// Success
diff --git a/Sources/Shared/Resources/en.lproj/Localizable.strings b/Sources/Shared/Resources/en.lproj/Localizable.strings
index dd95d4002c125c9caa98007bf7074c172bf5aaf8..2b7263918c46d1868d27b5fe82ff5d21137786e9 100644
--- a/Sources/Shared/Resources/en.lproj/Localizable.strings
+++ b/Sources/Shared/Resources/en.lproj/Localizable.strings
@@ -172,6 +172,8 @@
 
 "scan.status.reading"
 = "Place QR code inside frame to scan";
+"scan.status.processing"
+= "Processing...";
 "scan.status.success"
 = "Success";
 "scan.display.copied"
@@ -197,7 +199,7 @@
 = "Scan Code";
 "scan.segmentedControl.right"
 = "My Code";
-"scan.error.denied"
+"scan.error.cameraPermissionNeeded"
 = "Camera needs permission to be used";
 "scan.error.invalid"
 = "Invalid QR code";
@@ -205,7 +207,7 @@
 = "Something’s gone wrong. Please try again.";
 "scan.error.requested"
 = "You already have a request open with this contact.";
-"scan.error.friends"
+"scan.error.alreadyFriends"
 = "You've already added \n#%@#";
 "scan.error.pending"
 = "This user is already pending in your contact list";