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

359 Commits

Author SHA1 Message Date
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
ac6157ea63 Fix [REGRESSION] #1363 Video and image areas are sometimes too short 2024-11-25 13:56:12 -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
6d4e8762f5 Fixes [BUG] Filter titles not displayed in feed #789 2024-11-22 14:37:02 -05:00
shannon
9ed9c79f25 Begin moving filesystem cache responsibility into PersistenceManager
contributes to iOS-319
2024-11-19 12:08:22 -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
c6df2b0651 Fixes filtered posts take up too much space (#441)
Use content warning UI for filtered posts, and restrict height of CW area in all cases.
2024-11-08 15:07:54 -05:00
shannon
280df2ae39 Always use vertical layout for edit history (iOS-383)
Quick fix for layout of languages with lengthier strings.
2024-11-07 15:37:18 -05:00
Marcus Kida
9dc130eeaf
Fix layout constraint issue 2024-10-09 11:37:53 +02:00
Marcus Kida
b6d326bb03
Bump FaviconFinder to 4.5.0 (IOS-289) 2024-08-29 10:17:00 +02:00
Nathan Mattes
8d535be84a Fix bottom margins as requested (IOS-241) 2024-07-24 16:20:23 +02:00
Nathan Mattes
b3854f140b Fix label for non-mastodon-authors (IOS-284)
Sorry, non-mastodon-authors
2024-06-30 20:06:36 +02:00
Nathan Mattes
663bff6cb2 Cleanup (IOS-284) 2024-06-30 19:53:15 +02:00
Nathan Mattes
6315abeb9e Use different labels for publisher and date (IOS-284)
so that in case of loooooooooooong publisher names the publisher name is shortened but the date is still visible
2024-06-30 19:47:59 +02:00
Nathan Mattes
f56d7ebaa8 Throw in some localization (IOS-284) 2024-06-30 18:54:47 +02:00
Nathan Mattes
d972578176 UI-Fixes (IOS-284) 2024-06-30 18:25:01 +02:00
Nathan Mattes
52ba086f94 Move the author-button into its own class (IOS-284)
and add avatar-image
2024-06-30 17:13:54 +02:00
Nathan Mattes
2876bcced6 Coordinate to Profile if there's an account (IOS-284) 2024-06-30 12:41:39 +02:00
Nathan Mattes
495332e021 Use account as only existing criterium (IOS-284) 2024-06-30 12:23:33 +02:00
Nathan Mattes
a3b4528862 Show (optional) published-date (IOS-284) 2024-06-29 19:00:36 +02:00
Nathan Mattes
96798f941c Re-enable menu (IOS-284) 2024-06-29 17:49:00 +02:00
Nathan Mattes
87d17022d4 Add a hacky way to differ between taps on profile and taps on content (IOS-284) 2024-06-29 17:38:57 +02:00
Nathan Mattes
ed72022de2 Add label for publisher (IOS-284) 2024-06-29 14:05:48 +02:00
Nathan Mattes
b9fa20f083 Adopt new authors-API-change and add publisher 2024-06-29 14:02:10 +02:00
Nathan Mattes
54986620e7 Show author and tinker description (IOS-284)
Also: Background Color, so minor UI-adjustments it is, I guess?
2024-06-26 23:17:48 +02:00
Nathan Mattes
cf5bc5b424 Add existing prototype (IOS-284) 2024-06-26 18:50:45 +02:00
Marcus Kida
daaf1b330e
Implement translation language check (IOS-271) 2024-06-25 10:41:03 +02:00
Nathan Mattes
9691e905c0 Remove card-persistence 2024-06-07 10:05:04 +02:00
Marcus Kida
49f773e1a4
Improve CW Overlay / size (IOS-278) 2024-05-22 13:00:41 +02:00
Marcus Kida
068da20c58
Don't flicker avatar-image in MainTabBar (IOS-238) (#1299)
Every time, the account gets updated, the `avatarURL` is updated as
well. But not only new image was set. Before setting the image, the
button-image was reset to the placeholder first. After that, the
downloaded image was applied.

Now we don't reset the image to the placeholder, but set the placeholder
once.
Also: Cleanup.
2024-05-22 09:14:38 +02:00
Nathan Mattes
47bedff5e5 Cleanup (IOS-238) 2024-05-21 18:11:22 +02:00
Nathan Mattes
9e486a82e6 Remove download-placeholder (IOS-238) 2024-05-21 18:01:54 +02:00
Nathan Mattes
298886d3f5 Set placeholder-color for AvatarButton (IOS-238) 2024-05-21 17:43:53 +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
Marcus Kida
677670055e
Fix "Load More" Button on Home/Public Timeline (#1283)
* Begin fixing of "Load More" on Home Timeline (IOS-266)

* Don't show "Load More" if last status is first existing (IOS-266)

* Insert missing items upon "Load More" (IOS-266)

* Implement sinceID usage when loading latest posts (IOS-266)

* Change updating of items on Load More(IOS-266)

* Do not try to modify datasource directly (IOS-266)

* Improve load more (IOS-266)

* Fix load more using maxID and limit to 20 items (IOS-266)

* Implement loading missing status in public timeline (IOS-266)

* Implement subsequent "Load More" (IOS-266)

* Make loadMore(item:at:) API more Swifty (IOS-266)

* Address PR comments (IOS-266)
2024-05-08 10:02:21 +02:00
Marcus Kida
24e573d9e2
Refactor Polls to not use Core Data (#1265) 2024-04-17 16:36:03 +02:00
Nathan Mattes
b120d32efa
Post cell cleanup (IOS-232) and other fixes (#1272)
* Replace icons with SF Symbols (IOS-232)

* Remove visibility-icon from Status (IOS-232)

* Use relative time formatter and switch position of timestamp/user (IOS-232)

* Set TimelineSelector-Button-Position (IOS-232)

Shouldn't switch now any longer. Also: Refactoring.

* Fix position of the Home-icon in TabBar (IOS-232)

TIL: Don't set an empty string, otherwise the position of the TabBarItem-icon breaks
2024-04-16 13:19:49 +02:00
Nathan Mattes
6b32e5e4aa
Re-enable option to post unlisted/"Quiet public" (#1271)
* Add unlisted as option to post (#250)

* Replace menu-icons with SF Symbols to match other platforms (#250)

* Replace earth with SF-symbol (#250)

* Use SF Symbols for visibility (#250)
2024-04-12 10:58:18 +02:00
Nathan Mattes
62cc9105a9
Fix Profile Editing (#1245)
* Fix image-editing (#1244)

Probably introduced in 76304e5 and we just missed that :)

* Removed unused property (#1244)

* Don't allow tapping on followers/followees when editing my profile

* Remove obsolete code

relationship-update on viewDidAppear is not needed anylonger as we use update user/relationship using notifications like in the good ol days

* Make relationship optional and use switch-pattern-matching for button-configuration

* Don't change relationship when relationship is updating

* [WIP] don't toggle, but just set booleans.
2024-03-18 16:27:12 +01:00
Nathan Mattes
7024823cbf Remove persistence for user (IOS-192) 2024-02-14 10:44:32 +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
a90d5ea084
Fix Follow-Button in App-Dark Mode (#1218) (#1222)
* Don't set colors (#1218

* Use UIButton.configuration for ... configuration (#1218)

* Fix activity indicator (#1218)
2024-02-09 11:12:15 +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
ab2f54307f Group files and use simpler context (IOS-192) 2024-01-20 18:21:02 +01:00
Nathan Mattes
6ffcdb2565 Remove unused property (IOS-192) 2024-01-20 14:05:08 +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
9bf072e827 Remove unused code 2024-01-11 14:07:57 +01:00