[RESOLVED] ReducerProtocol: Missing ViewStore updates in Release in Xcode 14 #1379
Replies: 8 comments 33 replies
-
This reminds me. While trying to create a sample project for another issue got to this issue where actions disappear in release build. You should be able to copy it into view controller of default new app project. And adding protocol-beta + xctest-dynamic-overlay to Packages.
|
Beta Was this translation helpful? Give feedback.
-
Thanks @PorterHoskins for bringing this up and thanks @jaanussiim for giving us a small repro! We can see this behavior when running locally, but we haven't figured out what exactly is going on yet. We're both busy for the next few days with some travel, but we will look into it soon! In the meantime, if you have time @jaanussiim, would you mind providing us with a port of your code sample that runs on main? That will give us something to hop back and forth between to see what is breaking down. If you don't have time it's OK, we can do it ourselves later. |
Beta Was this translation helpful? Give feedback.
-
@mbrandonw - by "runs on main" you mean
I believe I got the sample down to bare minimum. Only one binding action. First tab uses scoped store and actions do not work in release mode. In second tab, using direct store, actions work. If you comment out |
Beta Was this translation helpful? Give feedback.
-
Anyway - here is a version without ReducerProtocol. Has the same behaviour in main branch. No actions in release mode
|
Beta Was this translation helpful? Give feedback.
-
Does making the root app action |
Beta Was this translation helpful? Give feedback.
-
@PorterHoskins Since it seems like your bug is slightly different than @jaanussiim's, is there a chance you can provide a repro for us to mess around with? |
Beta Was this translation helpful? Give feedback.
-
Exciting news. After boiling my massive project down to it's essence I figured out how to reproduce it 🎉 The essence of it is chain scoping a store is not working right. Maybe this is an anti-pattern so let me know if I am doing something wrong. I am running in Release from Xcode 14.0 on an iPad running 15.6.1 and on an iPhone 12 running 16.0.
Full demo: |
Beta Was this translation helpful? Give feedback.
-
@mbrandonw is there a chance |
Beta Was this translation helpful? Give feedback.
-
Loving the beta. It really is great. I put up a TestFlight build to try it out and my entire app was broken. After looking into it more, it seems like there are
ViewStore
updates that are not getting fired on this branch when the app is built in release mode in Xcode 14.It doesn't seem to be an issue directly with
ReducerProtocol
and happens with both reducer paradigms. I tried turning off Whole Module Optimization and Speed Optimization build settings. I tried converting everything to the new concurrency model. I got rid of all the deprecated build warnings. Everything is straight TCA with no custom extensions.0.40.1 works fine from Xcode 14 in release mode. The beta works fine in debug and in release on Xcode 13. I tried to reproduce the issue in a small sample project but I can't get it to reproduce. Are you seeing any issues like this with Isowords by chance?
Beta Was this translation helpful? Give feedback.
All reactions