While observing GroupSession objects for my GroupActivity via the .sessions() async sequence, updated sessions are never received with with new states. Neither state == .joined or state == invalidated are received after calling session.join() and session.leave() respectively:
Task {
for await session in MyGroupActivity.sessions() {
switch session.state {
case .waiting:
// Received after activating activity.
case .joined:
// Never received after calling `session.join()`.
case .invalidated:
// Never received after calling `session.leave()`, ending the FaceTime call, or after other participating user ends session for everyone.
}
}
}