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

141 Commits

Author SHA1 Message Date
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
46e4584f05 Use an existing account for the me-Screen (IOS-255)
Technically this is a workaround: Replacing the ProfileViewModel! with a real optional affects the entire Profile-screen including the header etc. as this ProfileViewModel is used everywhere
2024-06-09 14:03:50 +02:00
Nathan Mattes
8f642ea021 Also update avatar on iPad (IOS-277) 2024-05-25 19:56:20 +02:00
Nathan Mattes
c2d0701062
Improve Multi-User Account Sheet (IOS-245) (#1273)
* Copynpaste cell to logout all accounts (IOS-245)

* Show cell (IOS-245)

* Logout of all accounts (IOS-245)

* Use iOS-formsheet to present account-list (IOS-245)

* Remove dead code (IOS-245)

* Don't animate account-switches (IOS-245)

* Remove panModal (IOS-245)

* UI-fixes (IOS-245)

* Add swipe-to-logout-action (IOS-245)

* Localize (IOS-245)

* Add a little bit of margin (IOS-245)

* Fix separator-insets (IOS-245)

* Don't crash on iPad when logging out of all accounts (IOS-245)
2024-04-30 09:22:27 +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
Nathan Mattes
f6e630aa66 Cleanup (IOS-192) 2024-02-20 17:41:10 +01:00
Nathan Mattes
ed7de63eb7 Remove unused code (IOS-192) 2024-02-19 11:52:12 +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
cb3a90b5be Remove more users (IOS-192) 2024-02-14 16:51:24 +01:00
Nathan Mattes
127c3167b8 Fix profile-button (IOS-192) 2024-01-12 10:47:17 +01:00
Nathan Mattes
2c653320fb Refactor tab/MainTabBarController to add viewcontrollers as properties
This is a WIP-step for account-stuff. Also: iPhone only, iPad should come next
2024-01-11 23:38:06 +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
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
c152c7b3c7 Don't use user but account on Sidebar on iPad (IOS-192) 2023-12-31 12:59:39 +01:00
Nathan Mattes
76304e59e5 Configure Profile-button based on relationship and accounts (IOS-192)
Also `me` is not optional anymore as we need it
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
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
34b962e3ca Remove me/remote-profile-viewmodel (IOS-192) 2023-12-31 12:56:59 +01:00
Marcus Kida
f6e5f539d6
Remove unused code 2023-12-27 10:35:49 +01:00
Marcus Kida
831665141c
Fix tabbar avatar not visible (IOS-176) 2023-11-27 14:19:17 +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
Nathan Mattes
dd0025cdae
Merge pull request #841 from jinsu35/fix-issue-744
Fix bug - scrollToTop() should be called when current tab is selected
2023-11-21 17:18:19 +01:00
Rizwan Mohamed Ibrahim
450edb0574
Add double tap top focus search bar for iPad 2023-11-21 11:51:51 +05:30
Rizwan Mohamed Ibrahim
cfcf20d899
Clean up commented out code related to me tab 2023-11-20 20:54:08 +05:30
Rizwan Mohamed Ibrahim
d1588dda98
Add option to focus the search bar when double tapping the search tab bar
- Enables double tap for tab bar(s)
- Hides double tap for me tab (as per previous comment)
- Adds search tab double tab option to focus the search bar
2023-11-17 14:46:00 +05:30
Nathan Mattes
8381a44b71
Merge pull request #1131 from mastodon/move-credentials-to-keychain
Use Keychain for credentials
2023-10-12 15:09:12 +02:00
Nathan Mattes
e11ada8277 Show a little red badge when there are notifications (#1132) 2023-10-11 17:32:22 +02:00
Nathan Mattes
785751aca4 Merge branch 'develop' into performance_experiments 2023-10-11 13:04:29 +02:00
Nathan Mattes
132af03bb2
Set Deployment Target to iOS 16 (#1125)
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
2023-09-29 19:31:22 +02:00
Marcus Kida
943f3bc778
Merge branch 'develop' into performance_experiments 2023-09-29 12:43:34 +02:00
Nathan Mattes
97e6d750ee Persist general settings (IOS-14, IOS-166) 2023-09-27 15:12:43 +02:00
Nathan Mattes
3c9648e52f Show accountname on logout-button (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
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
Marcus Kida
1bb8e64574 Fix TabBar avatar loading 2023-06-13 14:47:43 +02:00
Marcus Kida
d570d3ef09 Replace MastodonAuthentication to not be backed by CoreData 2023-06-13 14:47:43 +02:00
Nathan Mattes
8804432b60
Fix Brand Color (IOS-160) (#1054) 2023-06-02 09:52:12 +02:00
Nathan Mattes
0b9277db37
Center image (IOS-145) (#1010) 2023-04-12 14:04:19 +02:00
Nathan Mattes
eb826fb310
Remove wizard (IOS-135) (#995) 2023-03-28 21:36:32 +02:00
Nathan Mattes
8060017880
IOS-113, bullet 4: Replace icons (#980)
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
2023-03-20 08:45:28 +01:00
Marcus Kida
73ce92216a
IOS-110: Fix Cannot switch accounts when large content viewer is enabled (#976) 2023-03-16 00:18:22 +01:00
Jed Fox
2987149ba5
IOS-87: Add “Search” and “Explore” input labels for Search & Explore (#935)
Co-authored-by: Marcus Kida <marcus.kida@bearologics.com>
2023-03-13 12:54:52 +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
Marcus Kida
9a3ba02683
feat(App): Implement Haptic Feedback for Tab switches and Timeline reload 2023-02-07 11:38:07 +01:00
Jed Fox
fbc4c98e7d
Force view controllers into portrait orientation where needed 2022-12-31 08:37:07 -05:00