Avoids the known hang, which was caused by getting stuck in a loop setting the frame back and forth over and over. Looked like it was adding and then removing (and then adding, etc) the height of a single line of text. Possible the username was shifting back and forth between truncating and wrapping, but have not confirmed that.
Fixes#705 IOS client consistently hangs when writing new post at ~= 150 chars
Using global background queue was handing the character counting work to a different thread every time the text changed. Forcing it always onto the same background queue would be another option, but main seems to feel fast enough and is safer because of all the view-related things downstream.
Contributes to #705 IOS client consistently hangs when writing new post at ~= 150 chars
Because we want to be certain that incoming records are always correctly filtered.
Fixes#1354 [BUG] Mastodon iOS App Ignores "Hide completely" Filter action Setting
Also, do not create a player view until actually needed (lazy var caused one to be created during prepareForReuse(), just to be able to call removeFromSuperview() on it).
Fixes #1377 [BUG] Content warning for gifs doesn't blur consistently
This is almost certainly a duplication of effort when navigating to the profile screen initially, for now, but it means the account details are up to date after you’ve followed/unfollowed, etc, from pages in the same navigation stack.
Fixes IOS-344
The key change here is to store the image subscription in the MediaView’s disposeBag rather than the configuration’s, so that it is properly disposed of in the MediaView’s prepareForReuse().
For good measure, also adding MainActor on prepareForReuse and actual cancellation of all subscriptions before releasing them.
Fixes#1374 [BUG] Posts can load the wrong images
Key points:
- hide image view if there is no image to fetch or if none arrives.
- authorStackView needed to always be full width across the bottom, and needed alignment .fill to avoid having its contents squished to zero height sometimes
- new mainContentStackView seems to need .center alignment when the axis is horizontal in order to size correctly.
Fixes IOS-317
This reverts commit 6035e0e69def1a43207676afebde368a1dfc42e4.
Overriding design principle: Switch tabs only based on user’s direct interaction with the tabs.
Goal: Begin to centralize the locus of view updates for easier bug fixing and future design flexibility.
Remaining: The supplementary views are still heavily using Combine.
Fixes#1372 [BUG] Cannot save new profile fields
Fixes iOS-340
If a view controller is now buried in a navigation stack, its view will have no window to find the correct SceneDelegate with. So look for a navigation controller if the initial look up fails.