How to know if Redux Devtool window is already opened - redux

We have hot reload turned on for our application, at times the statement of opening Redux Devtool gets triggered. When it happens, the DevTool steals the focus. This can get annoying when developer is in the middle of writing and saving code, and the action of saving would trigger the build which subsequently opens the Redux DevTool.
I wonder if there is a way to know if the Redux DevTool is already open, so we can open the devtool when necessary.
Below is the source code we use to open Redux Devtool:
if (window.__REDUX_DEVTOOLS_EXTENSION__) {
enhancers.push(window.__REDUX_DEVTOOLS_EXTENSION__());
window.__REDUX_DEVTOOLS_EXTENSION__.open('panel');
}

Related

React native app cycling for ios16 with simulator

In testing my react native app against iOS 16 with the simulator, I am noticing that I'm getting a new warning, and that my app cycles without resolving on the login screen once the "Log in" button is pressed with correct credentials applied.
This only started happening when testing this against iOS 16 with the simulator, after upgrading Xcode and macOS to Monterey.
This is the warning I'm seeing:
Require cycle: App.js -> state/store/index.js -> services/core/SocketDriver/index.js -> App.js
Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
FYI, during this cycling, if I click "reload", the app will then resolve after again pressing the login button.
What should I be looking for in order to resolve this issue in the files listed above?

React devtools automatically triggering debugger

I have just changed some code in my react component and saved to check those changes in browser.
But when I am going to browser then debugger is automatically getting triggered wheras I haven't used debugger in my whole codebase.
This is what I am getting in the browser:
The debugger trigger has been shipped by mistake in the last 24 hours
https://github.com/facebook/react/issues/19308
you have to wait for a new version and disable it in the meantime

Connection to daemon was invalidated

My app is using Firebase Analytics and I believe starting in iOS 13.2 started getting the errors described here: Why I get the console warning: [Process] kill() returned unexpected error 1 when I load a WKWebView in iOS13.2?
I guess it wasn't a big deal
Since I planned for my app to go live in January, I began bigger tests in physical devices. I noticed after a while the app started to behave erratically, specially after receiving a [general] Connection to daemon was invalidated error. This doesn't occur in the simulator
Searching the internet I found a post that describes the same problem: https://forums.developer.apple.com/thread/124306
In my case, only Firebase seems to be calling WKWebView, but every time I open the UIMenuController I get the error described in the console and the app appears to be missing inputs. This is specially troublesome with UIScrollViews, which my app uses a lot. The pinch gesture seems to work at will. On an iPhone 6s, the issue isn't as noticeable, on an iPad, it's like a 50% chance the pinch gesture will work properly
Outside of removing Firebase, is there a way to mitigate this issue?
1 June 2020: The console message still persists, however, I have seemed to resolve the UIScrollView issue by deactivating delaysContentTouches, now the pinch gesture seems to work most of the time
23 October 2020 If anyone notices their app starting to behave erratically with no apparent reason I HIGHLY suggest to test it on an iOS 13 physical device if possible. Seems that Apple removed the warning from iOS 14, but testing it on iOS 13 you can pin point the exact reason after the warning appears in the console
Upon further testing, I've reduced the view down to a dead-simple UI view with a single SwiftUI TextField and the 'Connection to daemon was invalidated' still appears after I type the first character into the field. Soon thereafter the app crashes with a sigAbort. (So I don't think the reason is the UITextView wrapper I was using in the previous post). Once the invalidated message appears the app is doomed to crash, not right away but soon thereafter.
I have no idea what causes the 'invalidate' message and a Google search seems to imply that no-one else does either. Some folks appear to have made (experimental?) changes to their UI that stops the message but it appears to be impossible to determine a definite cause. (and like before it only occurs on a real phone)
Same issue without using Firebase at all. What I did: Delete build folder and compile again. Issue does not appears again.
On Xcode:
Clean the Build Folder
This will delete all of the products and intermediate files in the build folder. To clean the build folder you can use the shortcut Command+Option+Shift+K or Menu Bar → Product → Hold Option Key → Clean build Folder.
On Flutter:
Just delete build folder.

Expo: "Something went wrong" immediately on start

I have used Expo a few times successfully before, but for a few days now, I am unable to get into the Expo App. Whenever I open it, I see the Expo icon for a few seconds up to even minutes, and then it redirects me to the blue "Something went wrong" screen, as if I had tried to open an app.
But I didn't! It doesn't even let me scan a QR code, it just always shows this error. If I click the back button in the app, it simply terminates. I have ensured that it is the latest version and already reinstalled it once.
It seems like it somehow had locked itself onto an old, now non-existant server, and kept at it after reinstalling the app. Here is how I solved the problem:
In the metro bundler, choose connection type "Tunnel" and copy and send the URL to your phone. If you then click on it on your phone, it should redirect to the expo app. After that it got unstuck and I could finally use it normally with the QR code again!
The tools sometimes do get locked into this state.
Close and restart all components (Expo cli, browser tabs and clients) making sure to:
Kill any stray processes on the server (you need to check Activity Monitor / Process Explorer or similar depending on your platform)
Force quit all client devices and simulators using the correct method for each platform. To verify that the client process has actually been killed, check that the app splash screen is displayed for a short while when invoking it.
Clear the Expo cache when starting again: $ expo start --clear
I ran into the same issue. Solved it by going to the left sidebar in the Metro Bundler and sending a link via email!
I've tried many of the solutions and only one worked for me (which i found trying random things). I already had 'allow display over other apps' turned on (Android/OnePlus 6t) and didn't think it had anything to do with that. But I tried this...
Close the Expo app, go the the app settings and turn off 'allow display over other apps', open the expo app and [when prompted] turn on 'allow display over other apps' again.
That seems to work in my case - at least until the next time.

Redux Dev Tool in Chrome throwing odd error

When debugging my Redux store (running React) I keep getting this message
apologies:"Serializing our large state kept crashing redux devtools. I hope to bring it back someday, but for now you can see the state by using TS.redux.getState() in the console"
Has any one else seen this ?
And at the risk of being stupid I then run TS.redux.getState() in the console and get
VM1468:1 Uncaught ReferenceError: TS is not defined
at :1:1
Any ideas why this is happening, besides what is said in the message.
As far as I'm aware I'm running to latest Chrome Add on v2.15.1
I believe you're looking at the Slack app store and not your own Redux store.
If you are using Redux Dev Tools you can select which instance you are pointing to with the top right dropdown:

Resources