.navigationDestination(isPresented hangs after reboot in watchOS when destination view contains @Environment(\.dismiss)

.navigationDestination(isPresented) hangs after reboot (when called within 2 minutes of reboot) in watchOS when destination view contains @Environment(.dismiss).

Feedback: FB21077151

Second button hangs after reboot. Hangs in watchOS 26.0 and 26.4 on a physical device.

struct ContentView: View {

@State var presentView1 : Bool = false
@State var presentView2 : Bool = false

var body: some View {
    NavigationStack {

        VStack {
            Button("Show View 1") {
                presentView1.toggle()
            }
            Button("Show View 2") {
                presentView2.toggle()
            }

        }
        .navigationDestination(isPresented: $presentView1, destination: {TestView1()})
        .navigationDestination(isPresented: $presentView2, destination: {TestView2()})
    }
}

}

struct TestView1: View {

var body: some View {
    Text("View 1")
}

}

struct TestView2: View {

@Environment(\.dismiss) var dismiss

var body: some View {
    Text("View 2")
}

}

Thanks for your post and description.

Although I am not an expert in watchOS, I would like to inform you that the bug is present in the latest version of the operating system. However, I was unable to reproduce the issue on a real device. I attempted to reproduce the issue on a read device, but it did not work. I then restarted the device on the simulator, restarted the simulator, and ran the project using Xcode 26.2 and 26.3 beta with different simulators.

Hopefully someone with better experience in watchOS can jump into this thread to also try your focused simple project on the bug. I just wanted to make sure to let you know we got the bug and the team has been working on that, but a better workflow how to reproduce into the bug will help.

For more details on when you'll see updates to your report, please see What to expect after submission.

Albert Pascual
  Worldwide Developer Relations.

.navigationDestination(isPresented hangs after reboot in watchOS when destination view contains @Environment(\.dismiss)
 
 
Q