From bad2bcd0518171594f5e0c4635b6d13e6a7cbaeb Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Fri, 16 Aug 2019 15:14:57 -0400 Subject: [PATCH 01/17] add iphone x support again, this time it works though - pretty sure xcode inferred something i didnt want and broke layout guides here --- .../Controllers/JSQMessagesViewController.xib | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib b/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib index bdf8b03a5..b53a4fe2b 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib @@ -1,8 +1,10 @@ - + - - + + + + @@ -27,17 +29,17 @@ - + - + - + @@ -54,7 +56,7 @@ - + @@ -69,18 +71,15 @@ - + + + - - - - - From 89ba24f8e2137096db26d66197666c767176772c Mon Sep 17 00:00:00 2001 From: Michael Kernahan Date: Tue, 3 Sep 2019 11:35:00 -0400 Subject: [PATCH 02/17] no message --- .../JSQMessagesCollectionViewCellIncoming.xib | 25 ++++++++----------- .../JSQMessagesCollectionViewCellOutgoing.xib | 25 ++++++++----------- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.xib b/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.xib index f69b5404d..1b14cd607 100644 --- a/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.xib +++ b/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.xib @@ -1,8 +1,10 @@ - + + - - + + + @@ -16,7 +18,7 @@ - + @@ -67,7 +69,7 @@ - + @@ -79,7 +81,7 @@ - - - - - diff --git a/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.xib b/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.xib index 2bfdb2044..2952f0b0b 100644 --- a/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.xib +++ b/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.xib @@ -1,8 +1,10 @@ - + + - - + + + @@ -16,7 +18,7 @@ - + @@ -67,7 +69,7 @@ - + @@ -79,7 +81,7 @@ - - - - - From 18cab4d33273809eedf6ead776a4705a78036065 Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Thu, 12 Sep 2019 14:19:56 -0400 Subject: [PATCH 03/17] reconstrain the topBannerView to the safe area instead of the superview - this way we dont have to worry about dynamically computing top spaces anymore --- .../Controllers/JSQMessagesViewController.xib | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib b/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib index b53a4fe2b..11fa7ca6a 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.xib @@ -1,5 +1,8 @@ + + + @@ -21,35 +24,34 @@ - + - + - + - + - + - - + @@ -67,6 +69,7 @@ + @@ -76,7 +79,6 @@ - From 01f088dc75a0f1ca2afd6600059ee82bcfa5b2c6 Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Fri, 13 Sep 2019 11:28:46 -0400 Subject: [PATCH 04/17] 44px isnt the distance to the bottom of the screen if youre on a screen with rounded corners --- .../Controllers/JSQMessagesViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index 4a04c1544..dd811c09d 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -458,7 +458,7 @@ - (void)scrollToBottomAnimated:(BOOL)animated animated:animated]; } else { - [self.collectionView setContentOffset:CGPointMake(0, 44+collectionViewContentHeight-(self.collectionView.bounds.size.height))]; + [self.collectionView setContentOffset:CGPointMake(0, self.bottomLayoutGuide.length+44+collectionViewContentHeight-(self.collectionView.bounds.size.height))]; } } From 5deb4dbc49faadea3ef031a48066d70aa61da846 Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Thu, 3 Oct 2019 13:08:16 -0400 Subject: [PATCH 05/17] fix chat input bar floating in the middle of the screen for iOS 13 - this is a weird one... - the notifications that the system emits when the keyboard shows/hides/changes its frame are wrong in iOS 13 - this fix prevents this BS frames from causing problems by using the firstResponder status of the input text field - if the input text field is not active, that heightFromBottom is ZERO NO EXCEPTIONS --- .../Controllers/JSQMessagesViewController.m | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index dd811c09d..102e6497d 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -915,14 +915,11 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N - (void)keyboardController:(JSQMessagesKeyboardController *)keyboardController keyboardDidChangeFrame:(CGRect)keyboardFrame { - if (![self.inputToolbar.contentView.textView isFirstResponder] && self.toolbarBottomLayoutGuide.constant == 0.0f) { - return; + CGFloat heightFromBottom = MAX(0.0f, CGRectGetMaxY(self.collectionView.frame) - CGRectGetMinY(keyboardFrame)); + if (![self.inputToolbar.contentView.textView isFirstResponder]) { + heightFromBottom = 0.0f; } - CGFloat heightFromBottom = CGRectGetMaxY(self.collectionView.frame) - CGRectGetMinY(keyboardFrame); - - heightFromBottom = MAX(0.0f, heightFromBottom); - [self jsq_setToolbarBottomLayoutGuideConstant:heightFromBottom]; } From 5c380067938e108e4b301c0dd9165aa8d1d28703 Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Mon, 25 Nov 2019 17:16:43 -0500 Subject: [PATCH 06/17] fix for messages showing up behind the keyboard --- .../Controllers/JSQMessagesViewController.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index 102e6497d..27fca4b68 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -446,15 +446,19 @@ - (void)scrollToBottomAnimated:(BOOL)animated // possibly a UIKit bug, see #480 on GitHub NSUInteger finalRow = MAX(0, [self.collectionView numberOfItemsInSection:0] - 1); NSIndexPath *finalIndexPath = [NSIndexPath indexPathForItem:finalRow inSection:0]; + + /* + * Chat used to determine whether or not to scroll to the top or bottom based on cell size, but scrolling to "top" was causing messages to show up behind the keyboard + * so now we always scroll to bottom, leaving previous code here for now + * CGSize finalCellSize = [self.collectionView.collectionViewLayout sizeForItemAtIndexPath:finalIndexPath]; - CGFloat maxHeightForVisibleMessage = CGRectGetHeight(self.collectionView.bounds) - self.collectionView.contentInset.top - CGRectGetHeight(self.inputToolbar.bounds); - UICollectionViewScrollPosition scrollPosition = (finalCellSize.height > maxHeightForVisibleMessage) ? UICollectionViewScrollPositionBottom : UICollectionViewScrollPositionTop; + */ if (animated) { [self.collectionView scrollToItemAtIndexPath:finalIndexPath - atScrollPosition:scrollPosition + atScrollPosition:UICollectionViewScrollPositionBottom//scrollPosition animated:animated]; } else { From 0975cbcf8ad5726cc25d925354b6c81b154521fb Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Fri, 15 May 2020 15:13:13 -0400 Subject: [PATCH 07/17] dont clobber everything when you paste --- JSQMessagesViewController/Views/JSQMessagesComposerTextView.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m index e46c95992..42398de6c 100644 --- a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m +++ b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m @@ -165,7 +165,8 @@ - (void)paste:(id)sender { if (!self.pasteDelegate || [self.pasteDelegate composerTextView:self shouldPasteWithSender:sender]) { if (!shouldPasteRTF) { - [self setText:[UIPasteboard generalPasteboard].string]; + NSString *newText = [(self.text ?: @"") stringByAppendingString:[UIPasteboard generalPasteboard].string]; + [self setText:newText]; [self.pasteDelegate composerTextView:self didPasteWithSender:sender]; return; } From 85b036eedef4869145d933e6d7a43184a22fb4db Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Mon, 1 Jun 2020 13:31:11 -0400 Subject: [PATCH 08/17] remove ALL the bad code in here around pasting - i dont even want to TRY to figure this shit out; let users paste text normally and dont explode when they enter a memoji --- .../Views/JSQMessagesComposerTextView.m | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m index 42398de6c..6d2876804 100644 --- a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m +++ b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m @@ -164,32 +164,7 @@ - (void)setTextAlignment:(NSTextAlignment)textAlignment - (void)paste:(id)sender { if (!self.pasteDelegate || [self.pasteDelegate composerTextView:self shouldPasteWithSender:sender]) { - if (!shouldPasteRTF) { - NSString *newText = [(self.text ?: @"") stringByAppendingString:[UIPasteboard generalPasteboard].string]; - [self setText:newText]; - [self.pasteDelegate composerTextView:self didPasteWithSender:sender]; - return; - } - UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - NSData* data = nil; - NSMutableArray *types = [[NSMutableArray alloc]init]; - for (NSDictionary* item in pasteboard.items) { - for (NSString* type in item.allKeys) - [types addObject:type]; - } - if ([types containsObject:@"com.apple.flat-rtfd"]) - { - for (NSDictionary* item in pasteboard.items) { - if (item[@"com.apple.flat-rtfd"]) { - data = item[@"com.apple.flat-rtfd"]; - NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSRTFDTextDocumentType}; - [self setAttributedText: [[NSMutableAttributedString alloc]initWithData:data options:options documentAttributes:nil error:nil]]; - break; - } - } - } - else [super paste:sender]; - [self.pasteDelegate composerTextView:self didPasteWithSender:sender]; + [super paste:sender]; } } From 13787ae1f57ce40ec17b81516d08d63302f823ac Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Fri, 28 Aug 2020 10:58:13 -0400 Subject: [PATCH 09/17] we no longer want to provide users with the ability to edit text attributes --- JSQMessagesViewController/Views/JSQMessagesComposerTextView.m | 1 - 1 file changed, 1 deletion(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m index 6d2876804..d22995252 100644 --- a/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m +++ b/JSQMessagesViewController/Views/JSQMessagesComposerTextView.m @@ -73,7 +73,6 @@ - (void)jsq_configureTextView self.keyboardAppearance = UIKeyboardAppearanceDefault; self.keyboardType = UIKeyboardTypeDefault; self.returnKeyType = UIReturnKeyDefault; - self.allowsEditingTextAttributes = YES; self.text = nil; self.attributedText = nil; From 25fad60e81780204d35b697b537bac84596ab99f Mon Sep 17 00:00:00 2001 From: Jake Stephens Date: Tue, 22 Sep 2020 14:39:22 -0400 Subject: [PATCH 10/17] fix Xcode 12 / iOS 14 bug where media message previews werent showing - masking via UIImageView layer appears to have been broken, but we can still build the layer ourselves and use that --- .../JSQMessagesMediaViewBubbleImageMasker.m | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.m b/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.m index 831804dd8..ed12c698a 100644 --- a/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.m +++ b/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.m @@ -81,10 +81,37 @@ - (void)jsq_maskView:(UIView *)view withImage:(UIImage *)image NSParameterAssert(view != nil); NSParameterAssert(image != nil); + /* UIImageView *imageViewMask = [[UIImageView alloc] initWithImage:image]; imageViewMask.frame = CGRectInset(view.frame, 2.0f, 2.0f); view.layer.mask = imageViewMask.layer; + */ + + //the original method of doing this is broken in Xcode 12/iOS 14; masking with UIImageView layers doesn't work anymore + //we can get around this by creating the mask layer by hand, but it's a little tricky: + + //first we need to get a new UIImage with the .orientation property reset to .up + //if we use the image as-is we lose the orientation of the UIImage when we grab its GCImage below + UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale); + [image drawAtPoint:CGPointMake(0, 0)]; + UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + //create the layer that will be used as the mask + CALayer *layer = [[CALayer alloc] init]; + layer.contents = (__bridge id _Nullable)(img.CGImage); + layer.contentsScale = img.scale; + + //the following line essentially nine-slices the message bubble shape so that it can be resized + layer.contentsCenter = CGRectMake((img.size.width / 2.0f - 1.0f) / img.size.width, + (img.size.height / 2.0f - 1.0f) / img.size.height, + 1.0f / img.size.width, + 1.0f / img.size.height); + + layer.frame = CGRectInset(view.frame, 2.0f, 2.0f); + + view.layer.mask = layer; } @end From e53758c8a789d30307a91cd386ce9492658e0fa9 Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Tue, 4 Apr 2023 15:36:48 -0400 Subject: [PATCH 11/17] [20107] Guard explosions if we somehow receive a nil message --- .../Controllers/JSQMessagesViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index 27fca4b68..96f8c32ca 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -549,7 +549,7 @@ - (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collection else { cell.textView.text = nil; - cell.textView.attributedText = [[NSAttributedString alloc] initWithString:[messageItem text] attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; + cell.textView.attributedText = [[NSAttributedString alloc] initWithString:([messageItem text] ?: "") attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; } NSParameterAssert(cell.textView.text != nil); From 4b8e43d40d147bebd5c2fd50a041ea4475d2a18a Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Tue, 4 Apr 2023 16:07:58 -0400 Subject: [PATCH 12/17] Sigh, objective c strings need that @ prefix.. --- .../Controllers/JSQMessagesViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index 96f8c32ca..6e965dda4 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -549,7 +549,7 @@ - (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collection else { cell.textView.text = nil; - cell.textView.attributedText = [[NSAttributedString alloc] initWithString:([messageItem text] ?: "") attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; + cell.textView.attributedText = [[NSAttributedString alloc] initWithString:([messageItem text] ?: @"") attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; } NSParameterAssert(cell.textView.text != nil); From 7fca7d6420f316ac0725d329e25de272d28f9e8e Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Wed, 3 May 2023 14:39:19 -0400 Subject: [PATCH 13/17] Guard odd crashes when setting zIndex --- .../JSQMessagesCollectionViewFlowLayout.m | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.m b/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.m index 595dae6e0..629c980dc 100644 --- a/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.m +++ b/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.m @@ -313,6 +313,11 @@ - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { NSArray *attributesInRect = [super layoutAttributesForElementsInRect:rect]; + // This function is available in iOS 10. Disable it for dynamic position of `SupplementaryView` + if ([self.collectionView respondsToSelector:@selector(setPrefetchingEnabled:)]) { + self.collectionView.prefetchingEnabled = false; + } + if (self.springinessEnabled) { NSMutableArray *attributesInRectCopy = [attributesInRect mutableCopy]; NSArray *dynamicAttributes = [self.dynamicAnimator itemsInRect:rect]; @@ -335,14 +340,22 @@ - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect attributesInRect = attributesInRectCopy; } - [attributesInRect enumerateObjectsUsingBlock:^(JSQMessagesCollectionViewLayoutAttributes *attributesItem, NSUInteger idx, BOOL *stop) { - if (attributesItem.representedElementCategory == UICollectionElementCategoryCell) { - [self jsq_configureMessageCellLayoutAttributes:attributesItem]; - } - else { - attributesItem.zIndex = -1; - } - }]; + @try + { + [attributesInRect enumerateObjectsUsingBlock:^(JSQMessagesCollectionViewLayoutAttributes *attributesItem, NSUInteger idx, BOOL *stop) { + if (attributesItem.representedElementCategory == UICollectionElementCategoryCell) { + [self jsq_configureMessageCellLayoutAttributes:attributesItem]; + } + else { + attributesItem.zIndex = -1; + } + }]; + } + @catch (NSException *exception) + { + NSLog(@"JSQMessagesCollectionViewFlowLayout:: failed to layout elements in rect %@: %@", + NSStringFromCGRect(rect), exception.description); + } return attributesInRect; } From 7f5888c32a988abcfd0bec22524904047dc7d6ec Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Fri, 5 May 2023 15:54:03 -0400 Subject: [PATCH 14/17] Don't crash on invalid points being passed with media messages --- .../Controllers/JSQMessagesViewController.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m index 6e965dda4..b9d0c3b0b 100644 --- a/JSQMessagesViewController/Controllers/JSQMessagesViewController.m +++ b/JSQMessagesViewController/Controllers/JSQMessagesViewController.m @@ -42,6 +42,7 @@ #import "UIColor+JSQMessages.h" #import "UIDevice+JSQMessages.h" #import "NSBundle+JSQMessages.h" +#include static void * kJSQMessagesKeyValueObservingContext = &kJSQMessagesKeyValueObservingContext; @@ -544,12 +545,18 @@ - (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collection if ([messageItem conformsToProtocol:@protocol(JSQMessageAttributedData)]) { id attributedMessageItem = (id ) messageItem; - cell.textView.attributedText = [attributedMessageItem attributedText]; + if (![self isPointNaN:cell.textView.layer.position]) + { + cell.textView.attributedText = [attributedMessageItem attributedText]; + } } else { - cell.textView.text = nil; - cell.textView.attributedText = [[NSAttributedString alloc] initWithString:([messageItem text] ?: @"") attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; + if (![self isPointNaN:cell.textView.layer.position]) + { + cell.textView.text = nil; + cell.textView.attributedText = [[NSAttributedString alloc] initWithString:([messageItem text] ?: @"") attributes:@{ NSFontAttributeName : collectionView.collectionViewLayout.messageBubbleFont }]; + } } NSParameterAssert(cell.textView.text != nil); @@ -1165,4 +1172,9 @@ - (void)jsq_addActionToInteractivePopGestureRecognizer:(BOOL)addAction } } +-(BOOL)isPointNaN:(CGPoint)point +{ + return (isnan(point.x)) || (isnan(point.y)); +} + @end From e9e0f08e65cd5a9ce61c635f4a501aaedadf7697 Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Mon, 19 Jun 2023 11:28:52 -0400 Subject: [PATCH 15/17] [20582] Continued cleaning up --- JSQMessagesViewController/Views/JSQMessagesTopBannerView.h | 2 +- JSQMessagesViewController/Views/JSQMessagesTopBannerView.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h index a197c382b..c4c5b00b3 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h @@ -2,7 +2,7 @@ // JSQMessagesTopBannerView.h // Dollarama // -// Created by besat@morgiij.com on 2017-03-10. +// Created by besat on 2017-03-10. // Copyright © 2017 binnj. All rights reserved. // diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m index d5969ec7d..b34db2074 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m @@ -2,7 +2,7 @@ // JSQMessagesTopBannerView.m // Dollarama // -// Created by besat@morgiij.com on 2017-03-10. +// Created by besat on 2017-03-10. // Copyright © 2017 binnj. All rights reserved. // From c58b99bb97c01c0744276217ea6936bf51656a10 Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Fri, 23 Jun 2023 11:39:14 -0400 Subject: [PATCH 16/17] [20582] Continued tidying, 1/n --- JSQMessagesViewController/Views/JSQMessagesTopBannerView.h | 2 +- JSQMessagesViewController/Views/JSQMessagesTopBannerView.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h index c4c5b00b3..71a02dd58 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h @@ -2,7 +2,7 @@ // JSQMessagesTopBannerView.h // Dollarama // -// Created by besat on 2017-03-10. +// Created by binnj, inc. on 2017-03-10. // Copyright © 2017 binnj. All rights reserved. // diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m index b34db2074..4f85be3bb 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m @@ -2,7 +2,7 @@ // JSQMessagesTopBannerView.m // Dollarama // -// Created by besat on 2017-03-10. +// Created by binnj, inc. on 2017-03-10. // Copyright © 2017 binnj. All rights reserved. // From c5dc762ee7b46f17af8ca958fe6a98fd6a632b02 Mon Sep 17 00:00:00 2001 From: Scott Corscadden Date: Fri, 23 Jun 2023 15:59:36 -0400 Subject: [PATCH 17/17] [20582] Copyright updating, second line, 3/n --- JSQMessagesViewController/Views/JSQMessagesTopBannerView.h | 2 +- JSQMessagesViewController/Views/JSQMessagesTopBannerView.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h index 71a02dd58..c3dbd4f52 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.h @@ -3,7 +3,7 @@ // Dollarama // // Created by binnj, inc. on 2017-03-10. -// Copyright © 2017 binnj. All rights reserved. +// Copyright © 2017 binnj, inc. All rights reserved. // #import diff --git a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m index 4f85be3bb..37849dd4e 100644 --- a/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m +++ b/JSQMessagesViewController/Views/JSQMessagesTopBannerView.m @@ -3,7 +3,7 @@ // Dollarama // // Created by binnj, inc. on 2017-03-10. -// Copyright © 2017 binnj. All rights reserved. +// Copyright © 2017 binnj, inc. All rights reserved. // #import "JSQMessagesTopBannerView.h"