Indeed, I could reproduce this.
It seems that the ModelContext injectable via the @Environment in document based apps does not autosave. That is, one needs to manually call modelContext.save().
(This is contrary to non-document based apps, where the main context autosaves by default, see here: https://developer.apple.com/documentation/swiftdata/modelcontext/autosaveenabled).
One would need to look into the architecture of the DocumentGroup in detail, but my intuition would be that what you inject via the @Environment, in this case, is not a MainActor-bound ModelContext, but a Scene scoped one, since you can have multiple documents open at the same time.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: