2
2
mirror of https://github.com/mastodon/mastodon-ios synced 2025-04-11 22:58:02 +02:00

6934 Commits

Author SHA1 Message Date
shannon
54ee5603b5 Add indication of publishing progress to the publish button.
Contributes to  #846 Toot lost in poor network conditions
2024.12-6934
2024-12-13 16:41:52 -05:00
shannon
a992c3ae2b Better clean up after failure or automated cancelation of post
Contributes to  #846 Toot lost in poor network conditions
2024-12-13 15:38:05 -05:00
shannon
1b4852c9b0 Do not dismiss compose window until post success is confirmed
Contributes to  #846 Toot lost in poor network conditions
Contributes to  #1215 [BUG] New posts fail to publish
2024-12-13 15:36:34 -05:00
shannon
2a7c8154d0 Add explanatory comment 2024-12-13 13:42:07 -05:00
shannon
5ccf30c39e Add TODO note 2024-12-13 13:41:41 -05:00
shannon
613b7feee8 Avoid warning about accessing visibleCells during tableview updates 2024-12-13 13:39:53 -05:00
shannon
1a79ec064b Some error handling improvements for the post publishing process
Contributes to #1215 [BUG] New posts fail to publish
Contributes to  #1317 Every time I try to add images from my Akkoma , the app freezes
2024-12-13 13:32:35 -05:00
shannon
ffc6e0ebaf Clearer naming (“nanosPerUnit” instead of “second”) 2024-12-13 13:17:59 -05:00
shannon
51591c9524 Refetch account info when returning to profile screen
This is almost certainly a duplication of effort when navigating to the profile screen initially, for now, but it means the account details are up to date after you’ve followed/unfollowed, etc, from pages in the same navigation stack.

Fixes IOS-344
2024.12-6926
2024-12-11 16:39:40 -05:00
shannon
957c1da6d0 Stop the refresh control when update is complete.
Fixes IOS-348
2024-12-11 16:39:40 -05:00
shannon
386196158b Update the avatar in the profile tab button whenever the active account switches
Fixes IOS-347
2024-12-11 16:39:40 -05:00
shannon
fee51ace09 Fetch all accounts much less often 2024-12-11 16:39:40 -05:00
shannon
f1391cecce Only need to subscribe to updateActiveUserAccountPublisher once, not every time the user is fetched. 2024-12-11 13:35:38 -05:00
shannon
df969abd6a Do not bother fetching relationship to account that is me 2024-12-11 13:34:33 -05:00
shannon
49938d4cbf Add comment 2024-12-11 13:33:40 -05:00
shannon
131e116fc0 Additional clarification about user fetching me vs. not me, and do not cache accounts that are not me 2024-12-11 13:33:27 -05:00
shannon
dbd05377b8 Add placeholder usage to AvatarImageView in hopes of avoiding showing incorrect avatar image 2024.12-6918 2024-12-10 14:12:47 -05:00
shannon
ca6ecd13aa Make sure not to display an image that belongs to a different post
The key change here is to store the image subscription in the MediaView’s disposeBag rather than the configuration’s, so that it is properly disposed of in the MediaView’s prepareForReuse().

For good measure, also adding MainActor on prepareForReuse and actual cancellation of all subscriptions before releasing them.

Fixes #1374 [BUG] Posts can load the wrong images
2024-12-10 11:16:43 -05:00
shannon
9e24af509e Fix some layout constraint warnings and allow images to keep their own aspect ratio in compact status card layout, even if that leaves some blank space. 2024-12-10 10:18:00 -05:00
shannon
3e2c63700a Fix layout for compact status cards and missing images
Key points:
- hide image view if there is no image to fetch or if none arrives.
- authorStackView needed to always be full width across the bottom, and needed alignment .fill to avoid having its contents squished to zero height sometimes
- new mainContentStackView seems to need .center alignment when the axis is horizontal in order to size correctly.

Fixes IOS-317
2024.12-6915
2024-12-09 18:01:44 -05:00
shannon
a2558201be Revert "Switch to profile tab to view your own profile, regardless of where you’re navigating from."
This reverts commit 6035e0e69def1a43207676afebde368a1dfc42e4.

Overriding design principle: Switch tabs only based on user’s direct interaction with the tabs.
2024-12-09 11:04:09 -05:00
shannon
6035e0e69d Switch to profile tab to view your own profile, regardless of where you’re navigating from. 2024.12-6913 2024-12-06 15:49:49 -05:00
shannon
216e12a593 New selected state symbol for boost button (to be used later) 2024-12-06 15:49:48 -05:00
shannon
af6272014a Refactor: Immutable view model for ProfileViewController
Goal: Begin to centralize the locus of view updates for easier bug fixing and future design flexibility.

Remaining: The supplementary views are still heavily using Combine.

Fixes #1372 [BUG] Cannot save new profile fields
Fixes iOS-340
2024-12-06 15:45:38 -05:00
shannon
c927ca278b Fix broken login navigation since removal of NeedsDependency
If a view controller is now buried in a navigation stack, its view will have no window to find the correct SceneDelegate with. So look for a navigation controller if the initial look up fails.
2024-12-05 10:35:38 -05:00
shannon
65bf555d98 Refactor: Remove NeedsDependency
The AppContext is already a singleton. SceneCoordinators are unique to UIWindowScenes, so fetch them that way.

Fixes iOS-324
2024.12-6909
2024-12-03 13:21:05 -05:00
shannon
fc7ebd65f8 Refactor: Remove unused DocumentStore 2024-12-02 14:45:49 -05:00
shannon
f64b1f960a Refactor: Remove unused associated object 2024-12-02 14:45:49 -05:00
shannon
7a742a1294 Correctly identify source of donation campaign request.
Allows displaying a default campaign in Settings even if there is no active banner campaign running.
2024.12-6906
2024-12-02 11:50:31 -05:00
shannon
13285dc91f Update version number 2024.12-6905 2024-12-02 10:06:37 -05:00
shannon
20771af55d Remove obsolete comment 2024-12-02 10:06:18 -05:00
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