6890 Commits

Author SHA1 Message Date
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
whattherestimefor
4acb163074
Update to run on macos-15
GitHub no longer offers Xcode 16 on macos-14. https://github.com/actions/runner-images/issues/10703
2024.11-6853
2024-11-13 09:39:22 -05:00
shannon
16f7a86374 Fix concurrency error
Future work: Make MastodonAuthentication immutable and Sendable.
2024-11-13 09:21:28 -05:00
shannon
75d80ff382 bundler version update 2024-11-13 09:19:59 -05:00
shannon
60f7f91114 Update accountCreatedAt date if missing
Contributes to iOS-252
2024-11-12 15:54:11 -05:00
shannon
b1a4571c53 Fixes #687 [BUG] Sign Out from the app does not forget the user's authorization
Use an ephemeral session when authenticating user.

Contributes to iOS-315
2024-11-12 15:24:19 -05:00
shannon
93b8069ded Properly format TODO 2024-11-12 13:00:42 -05:00
shannon
e8ab6753d2 Add MainActor to AboutInstanceViewControllerDelegate 2024-11-12 13:00:28 -05:00
shannon
9257477f92 Deleting unused code 2024-11-11 14:31:50 -05:00
shannon
c6df2b0651 Fixes filtered posts take up too much space (#441)
Use content warning UI for filtered posts, and restrict height of CW area in all cases.
2024.11-6845
2024-11-08 15:07:54 -05:00
shannon
76498442e3 Fix for logged in user requiring reauthorization.
Related to iOS-252
2024.11-6844
2024-11-07 15:37:18 -05:00
shannon
280df2ae39 Always use vertical layout for edit history (iOS-383)
Quick fix for layout of languages with lengthier strings.
2024-11-07 15:37:18 -05:00
shannon
28f1743ebf Fix truncated message text in some situations
Reduce stack view spacing and allow font to scale down.
Related to iOS-252
2024-11-07 15:37:17 -05:00
shannon
531c1a054e Fix issue where app sometimes launches to login screen even though you are already logged in. 2024.11-6841 2024-11-07 08:56:03 -05:00