         
         // Setup new constraints
         
-        let leadingConstraint = bubbleBackgroundView.leadingAnchor.constraint(greaterThanOrEqualTo: containerView.leadingAnchor, constant: BubbleMargins.leading)
+        let leadingConstraint = bubbleBackgroundView.leadingAnchor.constraint(greaterThanOrEqualTo: containerView.leadingAnchor, constant: 0)
         
         let trailingConstraint = bubbleBackgroundView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: 0)
                 

        
        self.textMessageContentView?.bubbleBackgroundViewTrailingConstraint = trailingConstraint
    }
    
    private func setupDecorationConstraints() {
        
        self.setupReactionsContentViewContraints()
    }
    
    private func setupReactionsContentViewContraints () {
        guard let bubbleCellContentView = self.bubbleCellContentView, let reactionsContentView = bubbleCellContentView.reactionsContentView, let reactionsContainerView = bubbleCellContentView.reactionsContainerView else {
            return
        }
        
        // Remove leading constraint
        
        bubbleCellContentView.reactionsContentViewLeadingConstraint.isActive = false
        bubbleCellContentView.reactionsContentViewLeadingConstraint = nil
        
        // Setup new leading constraint
        
        let leadingConstraint = reactionsContentView.leadingAnchor.constraint(equalTo: reactionsContainerView.leadingAnchor, constant: BubbleMargins.leading)
        
        leadingConstraint.isActive = true
        
        bubbleCellContentView.reactionsContentViewLeadingConstraint = leadingConstraint
        
        // Update trailing constraint
                                
        bubbleCellContentView.reactionsContentViewTrailingConstraint.constant = BubbleMargins.trailing
    }
    
    override func update(theme: Theme) {
        super.update(theme: theme)
        
        self.textMessageContentView?.bubbleBackgroundView?.backgroundColor = theme.roomCellOutgoingBubbleBackgroundColor
    }
    
    override func addReactionsView(_ reactionsView: UIView) {
        
        super.addReactionsView(reactionsView)
        
        if let bubbleReactionsView = reactionsView as? BubbleReactionsView {
            bubbleReactionsView.alignment = .right
        }
    }
    
    override func addThreadSummaryView(_ threadSummaryView: ThreadSummaryView) {
        
        guard let bubbleCellContentView = self.bubbleCellContentView, let containerView = bubbleCellContentView.threadSummaryContainerView else {
            return
        }
        
        containerView.vc_removeAllSubviews()
        
        containerView.addSubview(threadSummaryView)
        
        NSLayoutConstraint.activate([
            threadSummaryView.leadingAnchor.constraint(greaterThanOrEqualTo: containerView.leadingAnchor, constant: BubbleMargins.trailing),
            threadSummaryView.topAnchor.constraint(equalTo: containerView.topAnchor),
            threadSummaryView.heightAnchor.constraint(equalToConstant: RoomBubbleCellLayout.threadSummaryViewHeight),
            threadSummaryView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor),
            threadSummaryView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor,
                                                        constant: -BubbleMargins.trailing)
        ])
        containerView.isHidden = false
    }
}

        super.setupViews()
        
        bubbleCellContentView?.showSenderInfo = false
        
        self.setupBubbleConstraints()
        self.setupBubbleDecorations()
    }
    
    override func update(theme: Theme) {
        super.update(theme: theme)
        
        self.textMessageContentView?.bubbleBackgroundView?.backgroundColor = theme.roomCellOutgoingBubbleBackgroundColor
    }
    
    // MARK: - Private
