6903 Commits

Author SHA1 Message Date
shannon
a055d8ab1c Update localizations 2024.11 2024.11-6903 2024-11-29 14:53:03 -05:00
Eugen Rochko
fb9266e8c3
New Crowdin updates (#1351)
* New translations app.json (Hungarian)

* New translations app.json (Hungarian)

* New translations app.json (German)
2024-11-29 14:31:22 -05:00
shannon
f246ec508e Use localized string for filter label 2024.11-6901 2024-11-29 14:06:25 -05:00
shannon
57eef66370 Update the home timeline when filters are received. 2024-11-29 14:01:48 -05:00
shannon
a662406117 Fix #1369 [BUG] No option to re-hide filtered posts once they have been revealed 2024-11-29 13:52:52 -05:00
shannon
6bc34282e4 Fix #1368 [REGRESSION] Content Warning text is not displayed in the edit history view 2024-11-29 13:24:39 -05:00
shannon
4af146f77e Fix #1367 [REGRESSION] Cannot edit my profile
Seems like the new method of saving and reporting updated user info is sending a new account more often than before, so we have to guard against replacing the profile view model while editing.
2024-11-29 10:24:32 -05:00
shannon
d2b4d7b6b4 Refactor: Filter and Content Warning display and management
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.
2024.11-6896
2024-11-28 13:08:01 -05:00
shannon
862e1186ce Centralize filter management
Instead of publishing a list of filters, the StatusFilterService now publishes a struct that can apply those filters to any status in any context.

Also, we now use V2 of the filters API, which distinguishes between hide and warn.

Fixes  #1354 [BUG] Mastodon iOS App Ignores "Hide completely" Filter action Setting
2024-11-28 13:07:18 -05:00
shannon
311bbc0984 [REGRESSION] #1362 Cannot view profile of user mentioned in post 2024.11-6894 2024-11-25 15:18:09 -05:00
shannon
ac6157ea63 Fix [REGRESSION] #1363 Video and image areas are sometimes too short 2024-11-25 13:56:12 -05:00
whattherestimefor
b9f060de10
Update regression.yaml 2024.11-6892 2024-11-25 12:53:44 -05:00
shannon
8027ca8c8d Add a regression template 2024-11-25 12:50:30 -05:00
shannon
c52e674ece Add filter awareness to feed loading
Filters used to be applied only at the display stage.

There is remaining work here:
- Hide filters still will not hide until we update Filter to use API V2.
- Filter work is now duplicated and should be made more efficient.
- It may be important to hold on to statuses even if they are hidden, so that they can be shown if the filter changes.

Contributes to #1354  [BUG] Mastodon iOS App Ignores "Hide completely" Filter action Setting
2024-11-25 12:36:48 -05:00
shannon
7a62a528b5 Don’t let the AuthenticationController get deallocated before the authorization completes 2024.11-6889 2024-11-22 15:29:28 -05:00
shannon
6d4e8762f5 Fixes [BUG] Filter titles not displayed in feed #789 2024-11-22 14:37:02 -05:00
shannon
368de0aee0 Refresh the home timeline when the following list changes
This resolves the issue where following people from the “Find people to follow” prompt on first login did not refresh the home timeline view.

Fixes iOS-329
2024-11-22 13:01:47 -05:00
shannon
8c58712b93 Switch to search tab rather than displaying search modally
Fixes iOS-330
2024-11-22 13:01:47 -05:00
shannon
8926e5a5f2 Refactor: Simplify login flow
Give full responsibility for API calls to the AuthenticationViewModel.
Give (nearly) full responsibility for UI flow of the signup/log in experience to the WelcomeViewController.

Transition more APIService functions to async await.
Remove unnecessary AppContext vars.
Update helpful text on Log In screen.

Contributes to iOS-321
2024-11-22 13:01:47 -05:00
shannon
e690a744d7 Update darkmode app icon - ‘m’ is now transparent, not white.
Fixes [Feature]: iOS 18 - Adaptive icon #1322
2024.11-6884
2024-11-20 15:47:40 -05:00
shannon
48a053668b Add Hungarian
Fixes: Newly supported languages (Hungarian) #1344
2024.11-6883
2024-11-20 10:07:04 -05:00
shannon
ef31fc4e66 Clear Keychain after fresh install (iOS-315)
Files are removed when an app is deleted from device, but the Keychain is not cleared. So now if we find no cached account information upon launch, we remove any accounts remaining in Keychain and the app launches to the Welcome screen.

Fixes iOS-315
2024.11-6882
2024-11-20 08:49:29 -05:00
shannon
299e4f2cdf Cache updated account
contributes to iOS-319
2024.11-6881
2024-11-19 12:10:56 -05:00
shannon
7b0fe1a70b Ensure that currentActiveUser is updated by the time activateUser() returns.
contributes to iOS-319
2024-11-19 12:10:48 -05:00
shannon
082f5e6ce3 Fully initialize AuthenticationServiceProvider from within init
contributes to iOS-319
2024-11-19 12:10:38 -05:00
shannon
d96be97cf6 Only publish new active user if it has changed, and only fetch info for current user.
contributes to iOS-319
2024-11-19 12:10:30 -05:00
shannon
96e3bec016 Save account information after successful updateCredentials
This used to be handled at one callsite.

contributes to iOS-319
2024-11-19 12:10:14 -05:00
shannon
ae7aaf091d Only refetch information about the active user’s instance, not all of them.
contributes to iOS-319
2024-11-19 12:10:03 -05:00
shannon
54d04aed4e Continue to make MastodonAuthenticationBox the standard form of passing user information
Further simplify the AuthenticationViewModel and the public interface of AuthenticationServiceProvider.

Publish currentActiveUser from AuthenticationServiceProvider instead of assuming all callers know to take the first in the list as the active one.

contributes to iOS-319
2024-11-19 12:09:55 -05:00
shannon
410a34ad1b End the authentication publishing stream when done.
contributes to iOS-319
2024-11-19 12:09:44 -05:00
shannon
6af4c528e4 Preparing to move authentication caching responsibility
contributes to iOS-319
2024-11-19 12:09:35 -05:00
shannon
1e472c8232 Some simplification to login
Creating async await alternatives to Combine publishers in cases where that makes sense.

Near term goal is to centralize responsibility for caching of user info.

contributes to iOS-319
2024-11-19 12:09:27 -05:00
shannon
8ee189e3cf Remove redundant function
contributes to iOS-319
2024-11-19 12:09:14 -05:00
shannon
40ec6e94b2 Move a very specific extension to the one file that uses it
contributes to iOS-319
2024-11-19 12:09:05 -05:00
shannon
2c1e0a6eb9 Update build settings
contributes to iOS-319
2024-11-19 12:08:33 -05:00
shannon
9ed9c79f25 Begin moving filesystem cache responsibility into PersistenceManager
contributes to iOS-319
2024-11-19 12:08:22 -05:00
shannon
11c0deff2d Move PersistenceManager to its own file
contributes to iOS-319
2024-11-19 12:08:12 -05:00
whattherestimefor
255130facc
Update build-only.yml
Use macos-15
2024.11-6866
2024-11-18 10:01:55 -05:00
shannon
138230e936 Fix build error 2024.11-6865 2024-11-15 14:55:15 -05:00
shannon
08b47dde37 Make coreDataStack private 2024-11-15 14:51:22 -05:00
shannon
d7f473c892 MainActor for the new PersistenceManager 2024-11-15 14:45:37 -05:00
shannon
d1ac4e8796 Fix build error 2024.11-6862 2024-11-15 14:33:31 -05:00
shannon
9380ef3361 Remove unused additionalPredicate 2024-11-15 14:32:47 -05:00
shannon
35f1280904 Make view models @MainActor 2024.11-6860 2024-11-15 14:15:01 -05:00
shannon
c4442fe8a9 Fix crash on launch due to infinite loop
And more honestly about singletons.
2024-11-15 12:25:58 -05:00
shannon
77f3c5a64d Combine AuthenticationService into AuthenticationServiceProvider
Also, AppContext, APIService, and AuthenticationServiceProvider are now more obviously singletons.

And AuthenticationServiceProvider can now be asked for the current active user, instead of every caller assuming the first element of a list of users is the active user.
2024.11-6858
2024-11-14 16:30:51 -05:00
shannon
5dcc64b094 Simplify MasotodonAuthenticationBox 2024.11-6857 2024-11-14 11:17:22 -05:00
shannon
cf9b947d94 Enforce immutability of MastodonAuthentication 2024-11-14 10:20:25 -05:00
shannon
4737d59b9f Remove unused code 2024-11-14 10:03:59 -05:00
shannon
04108fd0e4 Remove AuthContext
MastodonAuthenticationBox, which already wraps the MastodonAuthentication, is now used directly.
2024-11-14 09:49:19 -05:00