Hi all,
Everyone that's upgraded a project to 1.10, please read!
1.10 is a stupendous update, but there are a couple of changes that prohibit previously allowed (wrong) behavior. This stuff shouldn't be happening, but it definitely is, and we need to communicate clearly about it. (Proactive would be best, as not everyone is going to hit up the mailing list before they give up!)
The two big challenges for upgraders that I see are the invokeOnce/invokeEtc warnings and the new list view example view reuse behavior. Chime in if you've seen any others.
Regarding the invokeOnce warnings, users are going to see a whole lot of warnings with the occasional break. This is going to be true even if the user never calls invokeOnce in their own code, so I'd like to put together a list of potential causes of this so folks have any idea at all where to start. For example:
- Creating views when you should be extending or designing them (i.e. in your initial view layer definition, which happens before App.main() and therefore before there are runloops).
- Failing to start a run loop when handling browser events (rather than properly wrapped SC events) like field focus or WebSocket events.
If we can get a solid list together, we'll help a lot of folks transition faster. What else have you guys noticed?
Similarly a few folks have found that their
list views are no longer updating when scrolling. Since many more views will be reused now, a lot of formerly silent bugs with missing displayProperties or broken update methods are going to surface. The information that folks need to fix it is all in the
View guide, but maybe a dedicated guide (or blog post) for getting the most out of the new list view architecture might be in order? Anyone have any time to put such a thing together?
Thanks all, this is an important update for us and it would be great if it went as smooth as possible!
Cheers,
Dave