Technically this is a workaround: Replacing the ProfileViewModel! with a real optional affects the entire Profile-screen including the header etc. as this ProfileViewModel is used everywhere
This is basically a refactoring of the `ListBatchFetchViewModel`, it
does two things:
1. Remove the "Reload this every 30 seconds", which caused a delay on
several screens
2. When users reach the bottom of the ScrollView, new content is
requested
3. DIY: Use this mechanism everywhere
The previous mechanism worked like this: Check every second, if the user
reached the end of the scrollView. If so: `shouldFetch`. As we increased
"every second" to "30 seconds", this caused a significant delay on all
screens which used this mechanism.
Others brought their own solution to fetch new content when users
reached THE END, like the HomeTimeline or the FollowerList. From now
one, there's a suggested way to deal with this "We must do something
once the user reachs the end!!!!"-issue.
P.S.: I'm not so happy with the `Self.`-approach and if someone has a
better name for `scrollViewDidScrollToEnd`, I'd be also thankful for a
hint. Maybe it's me, but I would have loved to add a new method to the
`UIScrollViewDelegate`-protocol (without Protocol-inheritance). Maybe
someone knows a way to do this? For now we'll leave it like this as the
alternatives would add more complexity.
Every time, the account gets updated, the `avatarURL` is updated as
well. But not only new image was set. Before setting the image, the
button-image was reset to the placeholder first. After that, the
downloaded image was applied.
Now we don't reset the image to the placeholder, but set the placeholder
once.
Also: Cleanup.
* Add missing actions, hack way to inject options into menu (IOS-229)
* Implement new menu structure (IOS-229)
This doesn't work-work yet, as functionality isn't implemented yet. Also: Special options and traits.
* Add preferredElementSize to submenus (IOS-229)
* Copy Link (IOS-229)
* Open In Browser (IOS-229)
* Boost status from menu (IOS-229)
* Favorite status from menu (IOS-229)
* Fix following-status in menu and don't cache menu (IOS-229)
* Add some destruction, add localization and use "Boost" instead of "Reblog" (IOS-229)
* Use struct instead of tuple for those menu-parts (IOS-229)