onPreferenceChange closure is now nonIsolated?

Running up Xcode 16.2 Beta 1, a lot of my code that used onPreferenceChange in Views to change @State properties of those views, such as some notion of a measured width is now complaining about mutating the @MainActor-isolated properties from Sendable closures.

Now I've got to hoop-jump to change @State properties from onPreferenceChange? OK, but seems a bit of extra churn.

How are you getting around this? My spontaneous thought was to use a Task to dispatch to the MainActor, but that seems to introduce visual glitches that weren't there previously.

The level of change in this migration period is insane. The preference is isolated on main actor and managed by view layer, why the closure is not MainActor?

onPreferenceChange closure is now nonIsolated?
 
 
Q