This is an invalid state, but currently it is possible to create a valid poll (no identical options) and later edit it so that two or more options contain identical strings. Bug (#33707) has been filed for the mastodon repository.
Fixes#1332 [BUG] Mastodon app crashes when a poll with identical answers reaches the screen
changes to keep building that will quickly become moot
Starting to implement SwiftUI version of notifications
project update forgotten
Switch out whole view controller when testing grouped notifications.
make old view work again
Bump deployment target to iOS 17
better view model. follow button loads correctly, showing followers list or account works.
mostly kind of working
rename
rename
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
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
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.
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