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
Nathan Mattes
23a505b321
Show more metadata for posts ( #1200 )
...
* Show first image when sharing (#1199 )
* Don't share custom metadata (#1199 )
🤦 that was way to easy, thanks docs!
* If we only share an URL, we don't need metadata (#1199 )
2024-02-09 11:14:51 +01:00
Nathan Mattes
b2dbcc8095
Merge branch 'develop' into ios-192-profile-about
...
# Conflicts:
# Mastodon/Protocol/Provider/DataSourceProvider+NotificationTableViewCellDelegate.swift
# Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController+DataSourceProvider.swift
# MastodonSDK/Sources/MastodonCore/DataController/FeedDataController.swift
# MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift
2024-01-31 15:36:53 +01:00
Nathan Mattes
5773ceb2ad
Fix build ( #1220 )
2024-01-31 10:07:31 +01:00
Marcus Kida
383a75ea48
Improve status updating mechanism ( #1210 )
2024-01-30 23:02:13 +01:00
Nathan Mattes
7dfa56507e
Make follow-requests work again (IOS-192)
...
Aaaaand remove obsolete viewmodel and put relationship to make menu work again (too)
2024-01-30 11:13:39 +01:00
Nathan Mattes
ca3fd69b62
[WIP] Preparation to get relationship into menu on notification-screen (IOS-192)
2024-01-18 16:59:14 +01:00
Nathan Mattes
35c017986a
[WIP] Add relationships/user to notifications (IOS-192)
2024-01-16 17:12:47 +01:00
Nathan Mattes
b8ba69b930
Reduce nested-ness of tasks (IOS-192)
...
Thank you @kimar
2024-01-11 15:28:18 +01:00
Nathan Mattes
cfa0e9a2bc
Fix indention, fix warnings (IOS-192)
2024-01-09 17:58:48 +01:00
Nathan Mattes
e70a67caf0
Move task and async/await to call-site (IOS-192)
2024-01-09 17:45:01 +01:00
Nathan Mattes
97d1ab4e5b
Fix build (IOS-192)
2024-01-09 17:44:06 +01:00
Nathan Mattes
923ff39b04
Fix indention
...
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
2024-01-09 17:02:55 +01:00
Nathan Mattes
fe5c88254b
Fix warnings
...
I guess that they made their way back into the app due to the merge
2024-01-08 22:48:35 +01:00
Nathan Mattes
febbc6f22a
Merge branch 'develop' into ios-192-profile-about
...
# Conflicts:
# Mastodon.xcodeproj/project.pbxproj
# Mastodon/Protocol/Provider/DataSourceFacade+Follow.swift
# Mastodon/Protocol/Provider/DataSourceFacade+Profile.swift
# Mastodon/Protocol/Provider/DataSourceFacade+Status.swift
# Mastodon/Protocol/Provider/DataSourceProvider+NotificationTableViewCellDelegate.swift
# Mastodon/Protocol/Provider/DataSourceProvider+StatusTableViewCellDelegate.swift
# Mastodon/Protocol/Provider/DataSourceProvider+UITableViewDelegate.swift
# Mastodon/Protocol/Provider/DataSourceProvider.swift
# Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewController+DataSourceProvider.swift
# Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewModel+State.swift
# Mastodon/Scene/Discovery/Community/DiscoveryCommunityViewModel.swift
# Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewController+DataSourceProvider.swift
# Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewModel+State.swift
# Mastodon/Scene/Discovery/Posts/DiscoveryPostsViewModel.swift
# Mastodon/Scene/HashtagTimeline/HashtagTimelineViewController+DataSourceProvider.swift
# Mastodon/Scene/HashtagTimeline/HashtagTimelineViewModel+State.swift
# Mastodon/Scene/HashtagTimeline/HashtagTimelineViewModel.swift
# Mastodon/Scene/HomeTimeline/HomeTimelineViewController+DataSourceProvider.swift
# Mastodon/Scene/HomeTimeline/HomeTimelineViewModel+LoadLatestState.swift
# Mastodon/Scene/HomeTimeline/HomeTimelineViewModel.swift
# Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController+DataSourceProvider.swift
# Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewController.swift
# Mastodon/Scene/Notification/NotificationTimeline/NotificationTimelineViewModel.swift
# Mastodon/Scene/Profile/Bookmark/BookmarkViewController+DataSourceProvider.swift
# Mastodon/Scene/Profile/Bookmark/BookmarkViewModel+State.swift
# Mastodon/Scene/Profile/Bookmark/BookmarkViewModel.swift
# Mastodon/Scene/Profile/Favorite/FavoriteViewController+DataSourceProvider.swift
# Mastodon/Scene/Profile/Favorite/FavoriteViewModel+State.swift
# Mastodon/Scene/Profile/Favorite/FavoriteViewModel.swift
# Mastodon/Scene/Profile/MeProfileViewModel.swift
# Mastodon/Scene/Profile/ProfileViewController.swift
# Mastodon/Scene/Profile/ProfileViewModel.swift
# Mastodon/Scene/Profile/RemoteProfileViewModel.swift
# Mastodon/Scene/Profile/Timeline/UserTimelineViewController+DataSourceProvider.swift
# Mastodon/Scene/Profile/Timeline/UserTimelineViewModel+State.swift
# Mastodon/Scene/Profile/Timeline/UserTimelineViewModel.swift
# Mastodon/Scene/Report/Report/ReportViewModel.swift
# Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel+State.swift
# Mastodon/Scene/Report/ReportStatus/ReportStatusViewModel.swift
# Mastodon/Scene/Root/MainTab/MainTabBarController.swift
# Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewController+DataSourceProvider.swift
# Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel+State.swift
# Mastodon/Scene/Search/SearchDetail/SearchResult/SearchResultViewModel.swift
# Mastodon/Scene/Share/View/Content/NotificationView+Configuration.swift
# Mastodon/Scene/Thread/ThreadViewModel.swift
# MastodonSDK/Sources/MastodonCore/FetchedResultsController/FeedFetchedResultsController.swift
# MastodonSDK/Sources/MastodonCore/FetchedResultsController/StatusFetchedResultsController.swift
# MastodonSDK/Sources/MastodonCore/Persistence/FileManager+SearchHistory.swift
# MastodonSDK/Sources/MastodonCore/Persistence/FileManager+Timeline.swift
# MastodonSDK/Sources/MastodonCore/Persistence/Persistence.swift
# MastodonSDK/Sources/MastodonCore/Service/API/APIService+HomeTimeline.swift
# MastodonSDK/Sources/MastodonCore/Service/API/APIService+Search.swift
# MastodonSDK/Sources/MastodonSDK/MastodonStatus.swift
# MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/ComposeContentViewModel.swift
# MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/Publisher/MastodonStatusPublisher.swift
# MastodonSDK/Sources/MastodonUI/View/Content/StatusView+Configuration.swift
2024-01-08 22:32:57 +01:00
Marcus Kida
976f934df9
Remove Status from CoreData ( #1167 )
2024-01-08 11:17:40 +01:00
Nathan Mattes
0b959f5bca
Remove private-note and notification from user (IOS-192)
2024-01-05 16:50:44 +01:00