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

231 Commits

Author SHA1 Message Date
shannon
828e3c516e Avoid crash due to duplicate ids in search results
Fixes #1416 Mastodon iOS application sometimes quit when performing a search and scrolling down the results
2025-03-06 14:37:57 -05:00
shannon
137cd4015a Update localized strings to add “No recent searches”
Fixes #1389
2025-01-14 14:43:47 -05:00
Gokul
f9ad9a4931
If recent search history is empty show text like No recent searches (#1387)
Displayed no recent searches text if recent search is empty
2025-01-14 14:33:48 -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
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
9ed9c79f25 Begin moving filesystem cache responsibility into PersistenceManager
contributes to iOS-319
2024-11-19 12:08:22 -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
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
575b0c08ee Minor refactoring (IOS-272)
Use an extension instead of its own class
2024-05-24 21:02:03 +02:00
Nathan Mattes
1f0be78ee1 Fix typo 2024-05-24 15:45:26 +02:00
Nathan Mattes
b62e259335 Load more search results (IOS-272) 2024-05-24 13:33:03 +02:00
Nathan Mattes
eace1ea815
Explore Tab: Use a segmented picker under the search bar (IOS-237) (#1261)
* Remove custom tab-bar from explore-tab (IOS-237)

* Add scope-bar to SearchBar on discovery-screen and attach scrolling etc. (IOS-237)

* Replace searchbar-scopes with proper segmented control (IOS-237)

The reason for this is that scopes didn't work on iPad in DetailView of the UISplitViewController.
I should blog about this.

* kill some whitespace
2024-04-05 09:55:46 +02:00
Nathan Mattes
71d81cc486
#1229, but for search (#1237)
Trigger search right away and don't wait for ListBatchViewModel
2024-02-22 10:33:55 +01:00
Nathan Mattes
88c5cfa140 Make the app work on iPad again (IOS-192)
Friends don't let friends use forced unwrapping.
2024-02-15 12:53:21 +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
Marcus Kida
383a75ea48
Improve status updating mechanism (#1210) 2024-01-30 23:02:13 +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
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
7f26dfa6d6 Fix warnings and remove unused code (IOS-192) 2024-01-02 15:37:07 +01:00
Nathan Mattes
c0e08c4482 Fix warnings (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes
f241232972 Remove user (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
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
2be8d5b8df WIP: Comment out and replace user with status (IOS-192) 2023-12-31 12:56:59 +01:00
Marcus Kida
4874615739
Fix incorrectly named variable 2023-12-27 10:36:48 +01:00
Marcus Kida
c30fb73922
Fix status deletion not updating data model (IOS-205) 2023-12-05 12:28:36 +01:00
Marcus Kida
e6ba8db5b6
Merge branch 'develop' into remove_status 2023-12-01 09:59:37 +01:00
Nathan Mattes
624c3226d5 Only search for relationships if there are accounts (#1187)
Otherwise this would lead to a `badRequest`
2023-11-30 16:23:41 +01:00
Marcus Kida
9fed54db1f
Fix compile issues after resolving merge conflicts 2023-11-28 09:55:18 +01:00
Marcus Kida
03aeb1fa7e
Merge branch 'develop' into remove_status 2023-11-28 09:50:56 +01:00
Nathan Mattes
7d8af4ef35 Reload search-results when entering the screen (IOS-196) 2023-11-27 14:56:38 +01:00
Nathan Mattes
361ad357db Clean search-history for one user only (IOS-196) 2023-11-23 15:33:28 +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
e3f3e2c662
Merge branch 'develop' into remove_status 2023-11-22 13:22:49 +01:00
Marcus Kida
b010b6112e
Remove usage of Status (IOS-176) 2023-11-22 12:32:04 +01:00
Rizwan Mohamed Ibrahim
5b55be092a
Fix crash on iPad non primary display focusing search bar
Crash happens when we try to focus search bar when in iPad portrait because of custom hight search bar don't have correct intrinsic size
2023-11-21 11:53:13 +05:30
Nathan Mattes
d15181dcb6 Show profile on tap
Bridge account to user as long as Profile-screen doesn't work with Mastodon.Entity.Account, but MastodonUser
2023-10-23 13:57:50 +02:00
Marcus Kida
943f3bc778
Merge branch 'develop' into performance_experiments 2023-09-29 12:43:34 +02:00
Nathan Mattes
fb6116d4a6 Refactor Settings-presentation and add new viewControllers (IOS-14) 2023-09-27 15:12:42 +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
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
a2990d54e2 Calculate offset without loader-cell (IOS-141)
Sorry, Stephen Fry! It wasn't anything personal
2023-09-20 20:09:42 +02:00