A large amount of change primarily to the view model layer, to make reasoning about the content reveal/hide state easier.
To prevent terrible scrolling jags while allowing the cells to be shorter when hiding content, the layout changes for content display state now happen before the cell is returned by the datasource provider and the tableview is reloaded when a status’s display mode changes.
This change only affects users logged in to mastodon.social or mastodon.online. A banner may be periodically displayed at the bottom of the homescreen encouraging donations and menu options are now available in Settings to make new donations or manage existing ones.
Amounts will not necessarily be returned from the server in order. The first amount returned is taken as the default and the amounts are sorted before display.
---------
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
* Begin fixing of "Load More" on Home Timeline (IOS-266)
* Don't show "Load More" if last status is first existing (IOS-266)
* Insert missing items upon "Load More" (IOS-266)
* Implement sinceID usage when loading latest posts (IOS-266)
* Change updating of items on Load More(IOS-266)
* Do not try to modify datasource directly (IOS-266)
* Improve load more (IOS-266)
* Fix load more using maxID and limit to 20 items (IOS-266)
* Implement loading missing status in public timeline (IOS-266)
* Implement subsequent "Load More" (IOS-266)
* Make loadMore(item:at:) API more Swifty (IOS-266)
* Address PR comments (IOS-266)
* Implement Settings->General->"Ask Before" and add "Ask Before Posting Without Alt Text" IOS-166
* Implement Alt Missing Alert for Status Edits (IOS-166)
* Fix status edit composes duplicate message
* Show (or don't) the "Really delete post?" Alert based on the User's preference (IOS-166)
* Implement alert for boost/unboost (IOS-166)
* Begin implementing "Default Post Language"-Setting (IOS-166)
* Show "Unfollow @user?" Alert (IOS-166)
* Merge conflict fixes for IOS-166
* Implement default post language setting (IOS-166)
* Fix follow button state not updated correctly (IOS-166)
* Add PR feedback (IOS-166)
* Improve default language cell style (IOS-166)
* Fix language filter broken (IOS-166)
This is a first step, for now we show the name to see if it works (and it does!), the other properties and functionality will follow.
Again, this includes some refactoring, like getting rid of Configuration