shannon
eac3222e65
Remove import AVKit from files that do not need it
2025-01-23 10:07:00 -05:00
shannon
1512f6e079
clarify private usage
2025-01-06 14:55:20 -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
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
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
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
d7f473c892
MainActor for the new PersistenceManager
2024-11-15 14:45:37 -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
04108fd0e4
Remove AuthContext
...
MastodonAuthenticationBox, which already wraps the MastodonAuthentication, is now used directly.
2024-11-14 09:49:19 -05:00
Marcus Kida
24e573d9e2
Refactor Polls to not use Core Data ( #1265 )
2024-04-17 16:36:03 +02: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
Marcus Kida
383a75ea48
Improve status updating mechanism ( #1210 )
2024-01-30 23:02:13 +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
6b6ed28134
Emojis aren't optional (IOS-192)
...
meet []
2024-01-05 12:30:36 +01:00
Marcus Kida
80df919da1
Remove switch case
2023-12-27 10:42:56 +01:00
Marcus Kida
d759a4b69a
Update posts on timeline and thread if edited (IOS-211)
2023-12-14 10:11:05 +01:00
Marcus Kida
9167260e30
Update datasource on delete statuses in timelines and thread (IOS-212)
2023-12-14 09:56:50 +01:00
Marcus Kida
31796f1680
Implement thread reload after publishing reply (IOS-176)
2023-12-13 15:09:37 +01:00
Marcus Kida
ab689d3c02
Fix status thread CW not shown and interacted status not updated (IOS-208, IOS-210)
2023-12-08 15:45:40 +01:00
Marcus Kida
c30fb73922
Fix status deletion not updating data model (IOS-205)
2023-12-05 12:28:36 +01:00
Marcus Kida
e0671eb324
Reimplement favorite/reblog state (IOS-176)
2023-11-23 11:21:52 +01:00
Marcus Kida
36d4f6ea15
Fix threads not working (IOS-176)
2023-11-22 17:01:59 +01:00
Marcus Kida
b010b6112e
Remove usage of Status (IOS-176)
2023-11-22 12:32:04 +01:00
Nathan Mattes
a2aa9b70d2
Fix some warnings
2023-11-16 10:28:20 +01:00
Marcus Kida
5c834c7e09
IOS-175: Remove CoreData status edit ( #1148 )
2023-11-10 11:32:02 +01:00
Nathan Mattes
e473084038
Simplify Theme ( #1121 )
2023-09-27 15:08:12 +02:00
Nathan Mattes
778b44ecf4
Fix warnings
2023-09-22 15:27:46 +02:00
Nathan Mattes
fbde2a5833
More cleanup
2023-09-22 15:27:46 +02:00
Nathan Mattes
075b8a739a
Fix some warnings
2023-08-21 11:32:00 +02:00
Jed Fox
4dbf8d35ec
Don’t assertionFailure() when tapping on non-status cells ( #963 )
2023-03-13 11:34:40 +01:00
Nathan Mattes
0c224f47df
Implement post editing / edit history ( #875 )
...
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
Co-authored-by: Jed Fox <git@jedfox.com>
2023-03-02 11:06:13 +01:00
jinsu kim
5c82c04232
Use authenticated domain for API calls. Modify URL scheme
2023-01-01 15:55:54 -08:00
jinsu kim
f71c4964f5
UI update should be invoked on the main thread
2023-01-01 01:00:00 -08:00
Nathan Mattes
1d7dc2f266
Bump to iOS 15 deployment target and fix build issues
2022-12-17 20:26:20 +01:00
Jed Fox
0c8c9778b0
Merge remote-tracking branch 'upstream/develop' into status-cards
2022-12-15 07:46:37 -05:00
Marcus Kida
2d9e980215
feat: Implement /api/v2/instance to conditionally show Translation option
2022-12-12 16:41:13 +01:00
Jed Fox
3661b5ce90
Refactor compose intialization
...
- split ComposeContentViewModel.Kind into Destination (top level/reply) and an initial content string
- replies get the mentions prepended to the initial content string
2022-12-03 13:25:07 -05:00
CMK
2064a318c3
Merge branch 'main' into develop
...
# Conflicts:
# Mastodon/Scene/MediaPreview/Video/MediaPreviewVideoViewController.swift
2022-11-21 11:18:36 +08:00
Stefan Painhapp
abe25f2156
Refactor pin to (parent) layout constraints as extension of UIView
2022-11-18 01:45:27 +09:00
CMK
b5d883865d
fix: prefer the original mode to top-two-tier tree mode
2022-11-18 00:16:21 +08:00
CMK
1ca3b66e40
chore: code cleanup
2022-11-18 00:00:17 +08:00
Jed Fox
d7739340f2
Merge remote-tracking branch 'upstream/develop' into post-author-a11y
2022-11-01 09:40:01 -04:00
Jed Fox
1c236859ab
Jump to thread table view when view appears
...
This fixes the issue where people can’t get past the navigation title
2022-10-31 12:52:15 -04:00
CMK
02e3ad9a16
chore: [WIP] restore the replyTo entry for compose
2022-10-10 19:14:52 +08:00
CMK
bb5c999bea
chore: [WIP] inject AuthContext into ViewModel
2022-10-09 20:07:57 +08:00
CMK
fa27a28a60
chore: move core logic into package
2022-10-08 13:43:06 +08:00