Commit Graph

250 Commits

Author SHA1 Message Date
Marcus Kida 383a75ea48
Improve status updating mechanism (#1210) 2024-01-30 23:02:13 +01:00
Nathan Mattes f9ae531b48 Don't download edit-history (#1138)
It was needed in the past when `editHistory` also persisted the history in CoreData. But as we don't use CoreData anymore...
2024-01-23 10:31:05 +01:00
Nathan Mattes e720db2a31 Remove unused code (IOS-192) 2024-01-20 20:03:59 +01:00
Nathan Mattes 35c017986a [WIP] Add relationships/user to notifications (IOS-192) 2024-01-16 17:12:47 +01:00
Nathan Mattes cea6129229 Download accounts at start and don't fail if there's no me (IOS-192)
Known issue for know is that the profile-tab shows a blank screen. Still gotta fix that.
2024-01-11 16:33:20 +01:00
Nathan Mattes c6788f5a43 Split private/public into their own extension 2024-01-11 14:10:47 +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
Nathan Mattes 7ab194b15d
Remove remaining Tag-stuff (IOS-186) (#1205) 2024-01-05 16:46:49 +01:00
Nathan Mattes 120b9e18b1 Fix warnings 2024-01-05 12:59:59 +01:00
Nathan Mattes 6b6ed28134 Emojis aren't optional (IOS-192)
meet []
2024-01-05 12:30:36 +01:00
Nathan Mattes 58501da5fa Merge branch 'develop' into ios-192-profile-about
# Conflicts:
#	Mastodon/Scene/Profile/UserList/FavoritedBy/FavoritedByViewController+DataSourceProvider.swift
#	Mastodon/Scene/Profile/UserList/RebloggedBy/RebloggedByViewController+DataSourceProvider.swift
#	Mastodon/Scene/Profile/UserList/UserListViewModel+Diffable.swift
#	Mastodon/Scene/Profile/UserList/UserListViewModel+State.swift
2024-01-03 17:30:56 +01:00
Nathan Mattes 2119c9de0b
Merge pull request #1196 from mastodon/ios-214-refactor-userlist
Use accounts on FavoritedBy/RetootedBy-screens (IOS-214)
2024-01-03 17:13:15 +01:00
Nathan Mattes 45028373d4 Store accounts in container (IOS-192)
In case you see an empty app: Add your account again.

Background: As we need access to the account from the extensions and the extensions can't access the documents-directory but the group-container, well, the accounts will live there from now on.
2024-01-02 23:05:25 +01:00
Nathan Mattes 7f26dfa6d6 Fix warnings and remove unused code (IOS-192) 2024-01-02 15:37:07 +01:00
Nathan Mattes 96fddaef27 192-profile-about
# Conflicts:
#	Mastodon/Protocol/Provider/DataSourceFacade+Status.swift
#	Mastodon/Scene/Profile/Header/View/ProfileHeaderView+ViewModel.swift
#	Mastodon/Scene/Profile/ProfileViewController.swift
#	MastodonSDK/Sources/MastodonUI/ViewModel/RelationshipViewModel.swift
2024-01-02 12:15:15 +01:00
Nathan Mattes a6aa4291f6 Remove obsolete wrapper-code 2024-01-01 20:10:37 +01:00
Nathan Mattes ab7b0584dd Replace more users with account (IOS-192)
In Edit and notification
2024-01-01 20:10:22 +01:00
Nathan Mattes bb3ad77954 Remove persistence for tags (IOS-192)
Was connected to `let me = authenticationBox.authentication.user(in: managedObjectContext)`
2023-12-31 12:59:39 +01:00
Nathan Mattes 77f0f28960 Don't persist follow-requests (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes c0e08c4482 Fix warnings (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes 460ede4852 User UserIdentification for search and accounts (IOS-192)
Thanks to @kimar!
2023-12-31 12:59:38 +01:00
Nathan Mattes 2a14e293e9 Move directory-stuff into its own FileManager-file (IOS-192) 2023-12-31 12:57:56 +01:00
Nathan Mattes 6225c50008 Add some actions to Relationship-action-button (IOS-192)
Well, it's basically just unblock, unmute or follow/unfollow
2023-12-31 12:57:56 +01:00
Nathan Mattes dda0ae2d7c Show text on relationship-button based on relationship (IOS-192) 2023-12-31 12:57:56 +01:00
Nathan Mattes d189119014 Remove obsolete Core Data-controller 2023-12-31 12:57:56 +01:00
Nathan Mattes 6aea178609 Add relationship to ProfileViewModel (IOS-192) 2023-12-31 12:57:56 +01:00
Nathan Mattes f373506aa3 Remove user from UserItem-lists (IOS-192)
Also: Remove CoreData and replace User with Account in several places
2023-12-31 12:57:56 +01:00
Nathan Mattes f51d5b7fe2 Replace MastodonUser.ID with string (IOS-192) 2023-12-31 12:57:56 +01:00
Nathan Mattes 60aafe6330 Add JSON-based account-persistence (IOS-192)
This is per user.

Also: Fetch authenticated accounts regularly
Also: Move Persistence-stuff to MastodonCore because.
2023-12-31 12:57:56 +01:00
Nathan Mattes 8918d237ca Use placeholder for me (IOS-192) 2023-12-31 12:56:59 +01:00
Nathan Mattes 2be8d5b8df WIP: Comment out and replace user with status (IOS-192) 2023-12-31 12:56:59 +01:00
Marcus Kida bf433e332f
Address PR Feedback (IOS-176) 2023-12-28 13:47:07 +01:00
Marcus Kida 405b175bdf
Implement alternative Author for DataSourceFacade.MenuContext (IOS-176) 2023-12-27 14:46:31 +01:00
Marcus Kida 82cc0f2f3f
Tie JSON cache to domain based unique identifier 2023-12-27 10:35:00 +01:00
Nathan Mattes 7efe949c8e Remove duplicate code (IOS-5)
Stuff gets already updated in the other methods
2023-12-18 20:38:20 +01:00
Nathan Mattes 30314cdd34 Update relationship (IOS-5) 2023-12-18 20:20:32 +01:00
Nathan Mattes 910e101538 Add domain-block for MastodonUser (IOS-5) 2023-12-18 19:59:22 +01:00
Nathan Mattes 9a5b4a3621 Use accounts on FavoritedBy/RetootedBy-screens (IOS-214) 2023-12-15 15:51:35 +01:00
Marcus Kida 22324f4c1e
Fix Polls not showing up (IOS-213) 2023-12-14 16:33:50 +01:00
Marcus Kida d1ba457a2f
Remove status persistence (IOS-176) 2023-12-07 15:16:40 +01:00
Marcus Kida 1754375644
Fix favorited post might lose repost header (IOS-206) 2023-12-07 15:16:13 +01:00
Marcus Kida c30fb73922
Fix status deletion not updating data model (IOS-205) 2023-12-05 12:28:36 +01:00
Marcus Kida 86d30887b6
Remove unused code 2023-12-04 14:36:31 +01:00
Marcus Kida a1cd1690fa
Implement cache for Notifications (IOS-200) 2023-12-04 11:04:00 +01:00
Marcus Kida 5532324f83
Implement caching for home timeline items (IOS-176) 2023-12-01 10:47:18 +01:00
Marcus Kida e6ba8db5b6
Merge branch 'develop' into remove_status 2023-12-01 09:59:37 +01:00
Nathan Mattes 7b8898a1ae 🤦 (#1178) 2023-11-30 16:39:46 +01:00
Nathan Mattes 5928592aa7 Don't throw when one account can't be authenticated (#1178) 2023-11-30 16:35:53 +01:00
Marcus Kida 1f73bee772
Improve StatusFetchedResultsController update handling (IOS-176) 2023-11-28 12:23:14 +01:00
Marcus Kida 66b2bfd5cd
Fix missing case in StatusFetchedResultsController 2023-11-28 12:04:08 +01:00
Marcus Kida 7ad0b15b32
Fix bookmarked state (IOS-176) 2023-11-28 11:13:13 +01:00
Marcus Kida 03aeb1fa7e
Merge branch 'develop' into remove_status 2023-11-28 09:50:56 +01:00
Nathan Mattes 3ee2024c3b
Merge pull request #1177 from mastodon/ios-196-search
Remove CoreData for Tags/Users on Search
2023-11-27 15:04:21 +01:00
Marcus Kida cc3f1d030f
Merge branch 'develop' into remove_status 2023-11-27 14:02:39 +01:00
Marcus Kida c7d62d56a2
Fix handling of (re-)reblogged and favorites state in home timeline (IOS-176) 2023-11-27 11:18:43 +01:00
Marcus Kida 1a1eecac64 Delete authentication credentials from Keychain upon logout
Fixes #1181
2023-11-24 21:20:04 +01:00
Nathan Mattes 1514e5a2c2 Slight refactor paths (IOS-196) 2023-11-23 15:07:37 +01:00
Nathan Mattes 1e780481d1 Remove SearchHistory from Core Data (IOS-196) 2023-11-23 14:50:49 +01:00
Nathan Mattes 9c662f4d78 Remove FetchedResultsController for SearchHistory (IOS-196) 2023-11-23 14:30:53 +01:00
Nathan Mattes 59c6d31ca4 [WIP] Remove CoreData for Tags/Accounts in Search (IOS-196)
- Add basic, json-based persistence (it's WIP and pragmatic aka dirty, see FileManager+SearchHistory)
2023-11-23 13:58:56 +01:00
Marcus Kida e0671eb324
Reimplement favorite/reblog state (IOS-176) 2023-11-23 11:21:52 +01:00
Marcus Kida 9809e69751
Fix favorite action (IOS-176) 2023-11-22 21:18:25 +01:00
Marcus Kida 9ce078ce3e
Fix loading of home timeline (IOS-176) 2023-11-22 13:18:41 +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
Nathan Mattes 9947335b20 Use url for hashable/equatable (IOS-190)
and do some refactoring
2023-11-16 10:03:33 +01:00
Nathan Mattes f29935af59 Fix build 🤦
Commit 6.000!
2023-11-14 13:03:14 +01:00
Nathan Mattes 2f5169d0c3 Add pull to refresh (IOS-186) 2023-11-10 13:55:18 +01:00
Nathan Mattes 9975fd56d9 Make "Followed Hashtags"-screen work with entities (IOS-186) 2023-11-10 13:55:18 +01:00
Marcus Kida 5c834c7e09
IOS-175: Remove CoreData status edit (#1148) 2023-11-10 11:32:02 +01:00
Nathan Mattes 77bf1ab03d Use correct domain to find users 2023-11-04 15:11:42 +01:00
Nathan Mattes 1750ef83a6 Implement follow/unfollow and block/unblock for `Mastodon.Entity.Account` 2023-10-19 15:12:24 +02:00
Nathan Mattes b92ffe8a46 Duplicate methods to work with Entity.Account
This is preparation, but as you know: Proper Preperation and Planning Prevent Piss Poor Performance
2023-10-19 14:39:07 +02:00
Nathan Mattes fb0758eac4 Remove duplicate conformance
automatic conformance FTW!
2023-10-19 13:18:44 +02:00
Nathan Mattes fdfed0a09b Refactor way to determine if translation is enabled 2023-10-18 14:34:20 +02:00
Nathan Mattes c3ef66aeaa Send the device-language to translate-endpoint 2023-10-17 12:48:01 +02:00
Nathan Mattes 6df7cf8a80 Don't use core data in memory (for now) 2023-10-11 15:52:05 +02:00
Nathan Mattes 785751aca4 Merge branch 'develop' into performance_experiments 2023-10-11 13:04:29 +02:00
Nathan Mattes ba2f1f5f40 Make extended-description-download work properly (IOS-20)
APIService was missing and URL was wrong
2023-10-10 13:55:57 +02:00
Marcus Kida 943f3bc778
Merge branch 'develop' into performance_experiments 2023-09-29 12:43:34 +02:00
Nathan Mattes 548798e401 Update CoreData-model to remove old settings (IOS-14)
They're stored in UserDefaults and this is kind of redundant. So: Bye!

Thanks @kimar
2023-09-28 15:51:35 +02:00
Nathan Mattes ba0f689acd Set notification-types (IOS-14) 2023-09-27 15:12:43 +02:00
Nathan Mattes f2180034ee Read notification-setting from CoreData (IOS-14)
aka subscription
2023-09-27 15:12:43 +02:00
Nathan Mattes 24724b9943 Clean up settings (a bit, IOS-14) 2023-09-27 15:12:43 +02:00
Nathan Mattes 79ba6ed13f Remove obsolete code 2023-09-27 15:12:43 +02:00
Nathan Mattes 6b12224578 Purge cache (IOS-14) 2023-09-27 15:12:43 +02:00
Nathan Mattes 921c97b2a7 Implement links on about-mastodon-screen (IOS-14) 2023-09-27 15:12:43 +02:00
Nathan Mattes e473084038
Simplify Theme (#1121) 2023-09-27 15:08:12 +02:00
Marcus Kida 360bfd29f1
Merge branch 'develop' into performance_experiments 2023-09-26 10:25:26 +02:00
Nathan Mattes a7381eaaae Clear whitespace 2023-09-22 15:28:07 +02:00
Nathan Mattes 7fa891308a Fix unused-warnings 2023-09-22 15:28:07 +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 74c324f9cf Get rid of commonglog 2023-09-22 15:27:05 +02:00
Marcus Kida dcfe13ac36
Merge branch 'develop' into performance_experiments 2023-09-22 11:36:57 +02:00
Nathan Mattes 1afecc85ea Show hashtag-page (IOS-141) 2023-09-16 18:39:33 +02:00
Nathan Mattes 2e384f3cb5 WIP: Add some search-implementation and clean stuff (IOS-141)
Shame on me for such a big commit. I'm new to iOS-development, sorry :nerd:
2023-09-15 17:45:22 +02:00