- Replaces the view previously in the Navigation Bar with the new,
so-called Timeline Status Pill
- We use it to show three states: When a post has been published
(successfully), when new statuses are available or when five (I slightly
increased the limit) requests failed
- The Timeline Status Pill features some fancy animations and a little
shadow
- For further details have a look at IOS-234 🙂
![ios_234_iphone](https://github.com/mastodon/mastodon-ios/assets/2580019/c77df339-aa72-406f-8be3-572acb244246)
![ios_234_ipad](https://github.com/mastodon/mastodon-ios/assets/2580019/f2fafc4c-ed5a-4afb-86a7-5de69325997b)
To simulate the different reasons I used this snippet. When you press
the Settings-button, you should see the 💊 :
```diff
diff --git a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
index 8559025d4..0eb27d0e8 100644
--- a/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
+++ b/Mastodon/Scene/HomeTimeline/HomeTimelineViewController.swift
@@ -488,9 +488,14 @@ extension HomeTimelineViewController {
}
@objc private func settingBarButtonItemPressed(_ sender: UIBarButtonItem) {
- guard let setting = context.settingService.currentSetting.value else { return }
+ // don't commit
+ timelinePill.update(with: .newPosts)
+ showTimelinePill()
- _ = coordinator.present(scene: .settings(setting: setting), from: self, transition: .none)
+// guard let setting = context.settingService.currentSetting.value else { return }
+//
+// _ = coordinator.present(scene: .settings(setting: setting), from: self, transition: .none)
+ // don't commit
}
@objc private func refreshControlValueChanged(_ sender: RefreshControl) {
```
* Remove custom tab-bar from explore-tab (IOS-237)
* Add scope-bar to SearchBar on discovery-screen and attach scrolling etc. (IOS-237)
* Replace searchbar-scopes with proper segmented control (IOS-237)
The reason for this is that scopes didn't work on iPad in DetailView of the UISplitViewController.
I should blog about this.
* kill some whitespace
Gosh, this took longer than expected. It didn't work for quite some time but the trick is to check for the states in several places, like in HomeTimelineViewModel+Diffable or when the timeline reached the end. Those triggered a reload and we don't want that in case the state is `contextSwitch`.
* Fix Profile Editing again (IOS-239, #1244)
This needs a bit of explanation, I guess, so please don't squash if possible? I didn't take into consideration, that the `ProfileViewController.viewModel` changes. And when it changes, all the combine-connections just ... disappear. This PR changes that (but probably I oversaw something again).
* Disable pull to refresh for editing mode (IOS-239)
* In case of nothing change, cancel editing (IOS-239)
* Don't add my own handle (#1254)
* Remove CoreData-stuff (#1254(
* Remove MastodonMentionContainer (#1254)
This is a left over from the status-refactoring. The Core Data-persistence-stuff for Status needed that, but as we don't use that any more say byebye
* Adjust Server Rules Screen (IOS-220)
* Update Server Rules (IOS-220)
* Use new server rules UI in Server Details (IOS-220)
* Improve disclaimer usage (IOS-220)
* Fix background in server details (IOS-220)
* Fix image-editing (#1244)
Probably introduced in 76304e5 and we just missed that :)
* Removed unused property (#1244)
* Don't allow tapping on followers/followees when editing my profile
* Remove obsolete code
relationship-update on viewDidAppear is not needed anylonger as we use update user/relationship using notifications like in the good ol days
* Make relationship optional and use switch-pattern-matching for button-configuration
* Don't change relationship when relationship is updating
* [WIP] don't toggle, but just set booleans.
* 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)
- Make Profile-screen use Mastodon.Entity.Account instead of
MastodonUser
- Fix things left and right
- Just like with the Status-refactoring I'm expecting more bugs to show
up over time.