-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
RELEASE 6.0 — ongoing release notes #476
Comments
Really excited about this. Let me know if you need help with anything. |
Thanks @FredericJacobs - any feedback would be great! And even small things like fixing typos are way more helpful than they seem! |
I'm more than happy to provide feedback and edit/write documentation. |
@FredericJacobs - awesome! I'll post here when the first beta is ready. 👍 |
Awesome @jessesquires. One question: #453 won't be included in this release? I'm more than happy to give you a hand with whatever you need |
Thanks @piercifani! That's right, unfortunately. I attempted #453 and ran into some design issues so I decided to hold off for now as media is a higher priority. The use cases noted in objc.io are much simpler than what we have here, and our data source is not as generic. Hopefully this change will come with 7.0 -- or maybe a complete re-write/re-design in Swift. :) but that would be very long term. |
…icatorColor from view controller. refinements for #476
Release notes updated. Core media support has been implemented on branch Concrete media objects are not yet available, only the protocols are finished. Demo has not yet been updated to include media messages. Coming soon. Stay tuned. |
The demo project now has a concrete implementation for sending photo messages. This is still not 100% complete, but it's getting there and you should be able to get the hang of how it will work for any type of media. Essentially, as long as your model object (whatever that is, it can be whatever you want) implements the Async loading should work within this framework, but more testing is needed. I'll be updating the demo with examples of async media message sending and avatar loading in the coming weeks. |
Awesome @jessesquires great work man. |
Awesome! |
Thanks for including #389, it's weird that this issue wasn't reported earlier. And thanks again for the hard work on this tool, it's awesome. |
Thanks everyone! Planning on getting a beta release up this weekend. |
thanks Jesse.. u-da-man. Have no fear, once my process starts rolling, you will receive some monetary love! |
UPDATE: Xcode decided to shit all over me today. Beta will be out this coming week. |
UPDATE: All docs completed. Photo media items completed. Demo has been updated to simulate async loading for images.
|
Demo updated to be much better. Now has a settings view to customize the view controller dynamically (especially useful for testing). PRs are welcome for adding additional config options. Please follow the existing pattern if you do. |
Awesome! Any update on the beta? I'd love to help. |
@jfyles - everything is basically done, except the library only provides 1 concrete media type (photos). I want to add more concrete items (#504) before tagging a beta. Beta should be out by the weekend. Any help with testing that once it is out would be great! Finding bugs, reporting any design concerns, finding any documentation errors, etc. |
Sounds great! Our beta is contingent on the photos so it goes hand-in-hand |
Ahhh, makes much more sense now. Thanks! |
Here is an example of subclassing JSQPhotoMediaItem to use SDWebImage. Using this method I have not been required to do any manual reloading of the collectionView or setNeedsDisplay anywhere. viewWithActivityIndicator is added as a subview of mediaView that always exists, and later removed upon image download completion. It is in RubyMotion... but the equivalent in ObjC/Swift should be trivial to work out class CustomPhotoMediaItem < JSQPhotoMediaItem
attr_accessor :managedView
def initWithURL(url)
me = init
size = self.mediaViewDisplaySize
self.managedView = UIImageView.alloc.init
self.managedView.frame = CGRectMake(0, 0, size.width, size.height)
self.managedView.contentMode = UIViewContentModeScaleAspectFill
self.managedView.clipsToBounds = true
self.managedView.layer.cornerRadius = 20
activityIndicator = JSQMessagesMediaPlaceholderView.viewWithActivityIndicator
self.managedView.addSubview(activityIndicator)
self.managedView.setImageWithURL(url,
placeholderImage:nil,
completed: lambda do |image, error, cacheType|
activityIndicator.removeFromSuperview
end)
me
end
def mediaView
return self.managedView
end
end |
nice! thanks for sharing @robj ! 😄 |
This high priority usability issue should also be on the 6.0 release list I think: |
I think that it would be part of 6.0 if someone had a viable solution to the issue. But since it hasn't been solved yet, it looks like this issue is going to remain for the foreseeable future. Maybe iOS 9 will fix the bug in UIKit next year... ;) Sent from my iPhone
|
@AnthonyMDev - Perfect answer. Thanks! 👍 |
After updating to beta6, chat bubbles (and outgoing chat messages) are no longer showing up on users devices. They are showing up on our dev devices though. Was anything changed to the pod that would change how those resources are copied? We were able to reproduce by changing our build scheme to build for Release. Any thoughts? |
hey @jfyles - yes, actually 😊 the image and audio assets are now in a it doesn't look like anyone else has had this problem. i'll investigate. please open a new issue for this and we'll track it there 👍 |
no issues here of similar nature, just an fyi.. |
Any idea when to expect the 6.0 release version? |
@AnthonyMDev - I've updated the milestone with the release date goal. (Nov 2) |
I recommend that everyone here on the last beta now pull directly from develop. Had lots of bug fixes this weekend. Didn't get the official 6.0 out, but it will be here this week. Sorry for the delay. pod 'JSQMessagesViewController', :git => 'https://github.com/jessesquires/JSQMessagesViewController.git', :branch => 'develop' |
Is there going to be a pod spec update? I'm using the pod in a current project, and if there are bug fixes, that would be nice to have.
|
@AnthonyMDev - yeah, this will get those fixes for you. The next spec update will be the final release. |
Hello all! There have been a decent number of bug fixes and refinements since the last beta. Also I just closed #602 which re-combines The only changes necessary on your part will be changing class names (e.g., "JSQTextMessage" --> "JSQMessage"), all functionality and method signatures have remained the same. At this point, I'm satisfied with the 6.0 release (and I know many are waiting on this), so it will be out today! I'll report back once CocoaPods is updated. |
^^ that is priceless. Hey Jesse, i am still a newb with pods. Is there another way to update just your pod without creating an ignore file for all the others? |
@wdcurry - not exactly sure what you mean. running |
That's great news thank you @jessesquires u r amazing! your work is amazing man ^_^ |
@jessesquires, i had a bit of unneeded issues with a few pods i use, so i don't want to update them and i didn't take the time to update the podfile to lock them down to a version. This is something i guess i should do soon to ensure the integrity of my platform. I guess my logical mind reached out to thinking i should be able to use |
Hii @jessesquires , thanks for the controller. It is really a great help. Can we please allow Audio files and contacts as well ? |
Welcome to JSQMessagesViewController 6.0!
This issue serves to document ongoing and upcoming changes in release 6.0 of this library, which is scheduled to finally include media message support (#223), as well as many more exciting improvements. The goal is to release 6.0 by the end of September.
All development will take place on the release-6.0 branch. Feel free to checkout this branch at anytime, but be aware that it will be rapidly changing and will not be guaranteed to be 100% functional 100% of the time.
FAQs
Want to help?
Any and all feedback from the community will be greatly appreciated as we move forward with this release. Please let me know what you like, dislike, and what will or will not work for your specific uses of this library. Is that any documentation that doesn't make sense? Let me know. Is there an API that could be improved, or changed completely? Let me know.
Major API changes
Version 6.0 will not be backwards compatible with 5.x.x. I will be documenting all major library API changes below as they happen. Note, these will likely be brief as they are not intended to be a guide for migrating from 5.x.x to 6.0. This type of more in-depth documentation will happen at the time that 6.0 is released.
sender
have been replaced withsenderId
andsenderDisplayName
. See better documentation forsender
property, change tosenderId
, addsenderDisplayName
#389 for further details.JSQMessageData
,JSQMessage
, and associated classes.imageView
objects for message bubble image views. ThemessageBubbleImageView
of aJSQMessagesCollectionViewCell
is now part of the cell prototype. This change is reflected inJSQMessagesCollectionViewDataSource
as well asJSQMessagesBubbleImageFactory
. See Improve performance: new bubbleImage and avatarImage dataSource #319 for further details.JSQMessagesBubbleImageFactory
JSQMessagesAvatarFactory
-->JSQMessagesAvatarImageFactory
imageView
objects for avatar image views. TheavatarImageView
of aJSQMessagesCollectionViewCell
is now part of the cell prototype. This change is reflected inJSQMessagesCollectionViewDataSource
as well asJSQMessagesAvatarImageFactory
. See Improve performance: new bubbleImage and avatarImage dataSource #319 for further details.JSQMessagesAvatarImageFactory
JSQMessagesViewController
-->typingIndicatorColor
JSQMessagesCollectionView
typingIndicatorDisplaysOnLeft
typingIndicatorMessageBubbleColor
typingIndicatorEllipsisColor
loadEarlierMessagesHeaderTextColor
JSQMessage
model object, now an abstract base class (removedtext
property)JSQMessageData
protocol- (NSString *)text
method now optional- (id<JSQMessageMediaData>)media
methodJSQMessageMediaData
protocol - similar toJSQMessageData
, but for media dataJSQTextMessage
: concrete model object, represents text messagesJSQMediaMessage
: concrete model object, represents media messagesJSQMessagesCollectionViewCell
now has amediaView
propertyJSQMessagesCollectionViewCell
now has amediaCellReuseIdentifier
methodJSQMessagesViewController
now hasoutgoingMediaCellIdentifier
andincomingMediaCellIdentifier
propertiesJSQPhotoMediaItem
model object for representing photo mediaJSQMessagesMediaPlaceholderView
view for async loading mediaJSQLocationMediaItem
model object for representing location media6.0-beta1 released
isMediaMessage
toJSQMessageData
(Update JSQMessageData protocol with "isMedia" method #530)MKMapSnapshotter
for location media items (Instead of using an MKMapView, use MKMapSnapshotter to display location preview #529)6.0-beta2 released
JSQMessageBubbleImageFactory
can now be initialized with custom images. See Refactor JSQMessageBubbleImageFactory to allow custom images #5356.0-beta3 released
JSQSystemSoundPlayer
2.0.06.0-beta4 released
JSQVideoMediaItem
model object for representing video media (closes Media messages continued: add more concrete media items #504)6.0-beta5 released
JSQMessagesMediaViewBubbleImageMasker
for masking media views to look like message bubblesJSQMediaItem
class. For your media items you should now specifyappliesMediaViewMaskAsOutgoing = { YES / NO }
6.0-beta6 released
JSQTextMessage
andJSQMediaMessage
in favor of absorbing them into the originalJSQMessage
class. Closes Refactor JSQMessage object hierarchy? #602The text was updated successfully, but these errors were encountered: