Compare commits

..

4 Commits

5 changed files with 65 additions and 3 deletions

View File

@ -1,3 +1,37 @@
## 2024.1
This update includes a significant improvements for the attachment gallery and displaying rich text posts. See below for a full list of improvements and fixes.
Features/Improvements:
- Improve attachment gallery
- Improve animations
- Display video captions
- Support sharing/saving videos
- Resume music playback after playing videos
- Improve rich text display in posts
- Add See Results button to polls
- Add Share and Save to Photos menu items to post attachments
- Show verified links in account lists
- Display message on empty list timelines
- Add preference to indicate attachments lacking alt text
- Mark notifications as read on Mastodon web frontend once displayed
- iPadOS: Support tapping the selected sidebar item to scroll to top
Bugfixes:
- Fix issue changing scope after searching
- Fix crash when searching "from:me"
- Fix tapping Followers button on profile opening Following screen
- Fix crash when removing poll option on Compose screen
- Fix hang when sharing video/GIFV attachments
- Fix stretched Save to Photos icon when sharing attachments
- Fix GIFV playback preventing device sleep
- Fix Notifications tab not scrolling to top when tab bar item tapped
- Fix selection not clearing on Trending Hashtags
- Fix fast account switcher overlapping iPhone sensor housing in landscape
- Fix Edit List screen not updating when adding/removing accounts
- Fix changing list reply policy not refreshing timeline
- Pixelfed: Fix crash when there are multiple follow notifications from the same account
- macOS: Fix attachment gallery displaying improperly when Reduce Motion is on
## 2023.8 ## 2023.8
This update adds support for search operators and post translation, and improves support for displaying rich-text posts. See below for a full list of improvements and fixes. This update adds support for search operators and post translation, and improves support for displaying rich-text posts. See below for a full list of improvements and fixes.

View File

@ -1,5 +1,9 @@
# Changelog # Changelog
## 2024.1 (119)
Features/Improvements:
- Add Account Settings button to Preferences
## 2024.1 (118) ## 2024.1 (118)
Bugfixes: Bugfixes:
- Fix music not pausing/resuming when video playback starts - Fix music not pausing/resuming when video playback starts

View File

@ -9,12 +9,17 @@
import UIKit import UIKit
import SwiftUI import SwiftUI
import UserAccounts import UserAccounts
import SafariServices
class PreferencesNavigationController: UINavigationController { class PreferencesNavigationController: UINavigationController {
private let mastodonController: MastodonController
private var isSwitchingAccounts = false private var isSwitchingAccounts = false
init(mastodonController: MastodonController) { init(mastodonController: MastodonController) {
self.mastodonController = mastodonController
let view = PreferencesView(mastodonController: mastodonController) let view = PreferencesView(mastodonController: mastodonController)
let hostingController = UIHostingController(rootView: view) let hostingController = UIHostingController(rootView: view)
super.init(rootViewController: hostingController) super.init(rootViewController: hostingController)
@ -31,6 +36,7 @@ class PreferencesNavigationController: UINavigationController {
NotificationCenter.default.addObserver(self, selector: #selector(showAddAccount), name: .addAccount, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(showAddAccount), name: .addAccount, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(activateAccount(_:)), name: .activateAccount, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(activateAccount(_:)), name: .activateAccount, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(userLoggedOut), name: .userLoggedOut, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(userLoggedOut), name: .userLoggedOut, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(showMastodonSettings), name: .showMastodonSettings, object: nil)
} }
override func viewWillDisappear(_ animated: Bool) { override func viewWillDisappear(_ animated: Bool) {
@ -93,6 +99,13 @@ class PreferencesNavigationController: UINavigationController {
} }
} }
@objc private func showMastodonSettings() {
var components = URLComponents(url: mastodonController.accountInfo!.instanceURL, resolvingAgainstBaseURL: false)!
components.path = "/auth/edit"
let vc = SFSafariViewController(url: components.url!)
present(vc, animated: true)
}
} }
extension PreferencesNavigationController: OnboardingViewControllerDelegate { extension PreferencesNavigationController: OnboardingViewControllerDelegate {

View File

@ -80,15 +80,22 @@ struct PreferencesView: View {
Button(action: { Button(action: {
NotificationCenter.default.post(name: .addAccount, object: nil) NotificationCenter.default.post(name: .addAccount, object: nil)
}) { }) {
Text("Add Account...") Text("Add Account")
} }
Button(action: { Button(action: {
self.showingLogoutConfirmation = true self.showingLogoutConfirmation = true
}) { }) {
Text("Logout from current") Text("Logout from Current…")
}.alert(isPresented: $showingLogoutConfirmation) { }.alert(isPresented: $showingLogoutConfirmation) {
Alert(title: Text("Are you sure you want to logout?"), message: nil, primaryButton: .destructive(Text("Logout"), action: self.logoutPressed), secondaryButton: .cancel()) Alert(title: Text("Are you sure you want to logout?"), message: nil, primaryButton: .destructive(Text("Logout"), action: self.logoutPressed), secondaryButton: .cancel())
} }
Button {
NotificationCenter.default.post(name: .showMastodonSettings, object: nil)
} label: {
Text("Account Settings")
}
} header: { } header: {
Text("Accounts") Text("Accounts")
} }
@ -139,6 +146,10 @@ struct PreferencesView: View {
} }
} }
extension Notification.Name {
static let showMastodonSettings = Notification.Name("Tusker.showMastodonSettings")
}
//#if DEBUG //#if DEBUG
//struct PreferencesView_Previews : PreviewProvider { //struct PreferencesView_Previews : PreviewProvider {
// static var previews: some View { // static var previews: some View {

View File

@ -10,7 +10,7 @@
// https://help.apple.com/xcode/#/dev745c5c974 // https://help.apple.com/xcode/#/dev745c5c974
MARKETING_VERSION = 2024.1 MARKETING_VERSION = 2024.1
CURRENT_PROJECT_VERSION = 118 CURRENT_PROJECT_VERSION = 119
CURRENT_PROJECT_VERSION = $(inherited)$(CURRENT_PROJECT_VERSION_BUILD_SUFFIX_$(CONFIGURATION)) CURRENT_PROJECT_VERSION = $(inherited)$(CURRENT_PROJECT_VERSION_BUILD_SUFFIX_$(CONFIGURATION))
CURRENT_PROJECT_VERSION_BUILD_SUFFIX_Debug=-dev CURRENT_PROJECT_VERSION_BUILD_SUFFIX_Debug=-dev