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

337 Commits

Author SHA1 Message Date
shannon
804fdf89f8 Distinguish private mentions and replies in the status view header 2025-03-07 11:14:30 -05:00
shannon
999e74be47 Correctly track follow and reblog status in the notification view.
This is a temporary fix, the datamodel will be changing with grouped notifications.
2025-01-27 16:36:36 -05:00
shannon
f552c3af91 Correct and simplify handling of user view button action
Also delete a bunch of unused code.

Fixes IOS-359
2025-01-24 10:30:55 -05:00
shannon
537f6cc5fd Alert user to any error in poll vote processing; always resolve activity indicator.
Contributes to  #1123 [BUG] App crashes when voting on a poll
2025-01-22 15:45:12 -05:00
shannon
e91d6e3bc5 Update notification view after approving or rejecting a follow request
Fixes #1342 [BUG] Follow requests no longer working
2025-01-22 15:14:58 -05:00
Damir Yackupov
571d73644c
support for focus point in image (#1392)
* support for focus point in image

* small fix

* small refactor
2025-01-15 06:34:09 -05:00
shannon
6ec1d9a591 Initial display of grouped notifications
Contributes to IOS-253
Contributes to IOS-355
2025-01-14 11:23:42 -05:00
shannon
1ec772d8a1 Show ungrouped notifications as before, but using the new MastodonFeedItemIdentifiers
Contributes to IOS-253
Contributes to IOS-355
Contributes to IOS-357
2025-01-10 16:17:51 -05:00
shannon
b438d3db32 rename for clarity
Not all of these cases involve a MastodonStatus. Their actual use is as identifiers for the tableview datasources.
2025-01-06 14:45:29 -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
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
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-03 13:21:05 -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-28 13:08:01 -05:00
shannon
311bbc0984 [REGRESSION] #1362 Cannot view profile of user mentioned in post 2024-11-25 15:18:09 -05:00
shannon
9ed9c79f25 Begin moving filesystem cache responsibility into PersistenceManager
contributes to iOS-319
2024-11-19 12:08:22 -05:00
shannon
35f1280904 Make view models @MainActor 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-14 16:30:51 -05:00
shannon
04108fd0e4 Remove AuthContext
MastodonAuthenticationBox, which already wraps the MastodonAuthentication, is now used directly.
2024-11-14 09:49:19 -05:00
shannon
583c796a4c Some defense against ProfileViewController.authContext.getter Forced Unwrapping Crash
Make the viewModel of the ProfileViewController optional rather than force unwrapping it. If the necessary information is not available, Profile page should show blank rather than crashing, and hopefully will have the expected info soon or the next time it is opened.

There is still a crash danger inherent in the use of TabBarPager, which requires a non-optional for several protocol methods were we can’t guarantee to have one to return. This dependency should be removed in the future.
2024-10-23 10:29:50 -04:00
Nathan Mattes
bac8c23d2c Adress feedback (IOS-241) 2024-07-26 11:08:28 +02:00
Nathan Mattes
9da5b99b28 Show modal on ipad (IOS-241) 2024-07-24 16:01:25 +02:00
Nathan Mattes
f3c035ce92 Add accept/dismiss-menu (IOS-241) 2024-07-24 12:35:08 +02:00
Nathan Mattes
67e1e5e3b4 Minor cleanup (IOS-241) 2024-07-24 12:35:08 +02:00
Nathan Mattes
fb3dfb5a6a Show notifications from one account (IOS-241) 2024-07-24 12:35:07 +02:00
Nathan Mattes
0d5dd513dd [WIP] Prepare enum-cases to show notifications from one account (IOS-241) 2024-07-24 12:35:07 +02:00
Nathan Mattes
4cf75d307d Show account for request (IOS-241) 2024-07-24 12:35:07 +02:00
Nathan Mattes
5473e7f3f9 Add viewController for notification-requests (IOS-241) 2024-07-24 12:35:07 +02:00
Nathan Mattes
4843348034 Add and show filter-banner in "everything"-notifications (if there are any) (IOS-241) 2024-07-24 12:35:07 +02:00
Nathan Mattes
2876bcced6 Coordinate to Profile if there's an account (IOS-284) 2024-06-30 12:41:39 +02:00
Marcus Kida
ad8d5e6e69
Fix reblog taken into account when translating status on home timeline (IOS-271) 2024-06-25 11:36:18 +02:00
Marcus Kida
b47ce98ef2
Hide spinner in case translation fails (IOS-271) 2024-06-25 10:45:37 +02:00
Marcus Kida
d4132640c5
Throw error in case translation returns empty content (IOS-271) 2024-06-21 12:09:18 +02:00
Nathan Mattes
a7f792c301 Update menu for profiles (IOS-231) 2024-05-21 11:16:58 +02:00
Nathan Mattes
8d3cb2beb3
Update Post Menu (IOS-229) (#1292)
* Add missing actions, hack way to inject options into menu (IOS-229)

* Implement new menu structure (IOS-229)

This doesn't work-work yet, as functionality isn't implemented yet. Also: Special options and traits.

* Add preferredElementSize to submenus (IOS-229)

* Copy Link (IOS-229)

* Open In Browser (IOS-229)

* Boost status from menu (IOS-229)

* Favorite status from menu (IOS-229)

* Fix following-status in menu and don't cache menu (IOS-229)

* Add some destruction, add localization and use "Boost" instead of "Reblog" (IOS-229)

* Use struct instead of tuple for those menu-parts (IOS-229)
2024-05-18 14:30:51 +02:00
Nathan Mattes
2d97d67657 Open strike in browser (IOS-264) 2024-05-14 15:11:56 +02:00
Nathan Mattes
5371ad54bf Show some content for a warning (IOS-264) 2024-05-14 15:11:56 +02:00
Nathan Mattes
a4b175ce9c Revert "Moderation Warning Notifications (IOS-264) (#1287)"
This reverts commit 794ffc002f384bb95b91d4369ddf5de93d3aba8c.
2024-05-14 15:11:23 +02:00
Nathan Mattes
794ffc002f
Moderation Warning Notifications (IOS-264) (#1287)
* Add moderation-warning-notification-type (IOS-264)

* Add entity for new AccountWarning (IOS-264)

Details see https://github.com/mastodon/mastodon/pull/30065 for now, as there's no documentation (yet)

* re-add file header (IOS-264)

* Add authorization to instance-calls (IOS-264)

This will improve using the app with `LIMITED_FEDERATION_INSTANCES`

* Add basic cell for account-warnings (IOS-264)

* Show some content for a warning (IOS-264)

* Open strike in browser (IOS-264)

* Add localization (IOS-264)

* Add missing localization (IOS-264)

* Cleanup (IOS-264)
2024-05-14 15:07:05 +02:00
Marcus Kida
24e573d9e2
Refactor Polls to not use Core Data (#1265) 2024-04-17 16:36:03 +02:00
Marcus Kida
4ea600403b
Move all UI*FeedbackGenerators to FeedbackGenerator and disable them for now (IOS-247) (#1267)
* Move all UI*FeedbackGenerators to FeedbackGenerator and disable them for now (IOS-247)

* Fix copyright header

* Remove empty private constructor
2024-04-09 16:41:47 +02:00
Marcus Kida
2e7054cb68
Implement "Default Post Language" and "Ask Before"-Alerts (#1240)
* 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)
2024-02-28 10:52:04 +01:00
Nathan Mattes
a170a462ee Remove nested tasks (IOS-192) 2024-02-20 16:47:55 +01:00
Nathan Mattes
8630bd1746 Show loading-indicator (IOS-192) 2024-02-20 16:33:27 +01:00
Nathan Mattes
52f5458364 Fix build 2024-02-19 12:05:48 +01:00
Nathan Mattes
0e46a811b7 Use constant foe UserInfo-key instead of string (IOS-192) 2024-02-19 10:18:12 +01:00
Nathan Mattes
91e3b63f1f Rework relationship-notification (IOS-192)
They get sent from the DataSourceFacade now
2024-02-16 12:16:55 +01:00
Nathan Mattes
c523f97d0c Merge branch 'develop' into ios-192-profile-about
# Conflicts:
#	MastodonSDK/Sources/MastodonUI/View/Control/ProfileRelationshipActionButton.swift
2024-02-09 12:43:56 +01:00