-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wp-now crashes when offline / DNS lookup cannot resolve #535
Comments
CC @sejas , although the stack trace seems to be pointing to |
👋 I created this PR that aims to address this issue: #1215. Let me know if you have any thoughts/feedback, thanks 🙇 ! |
Catches potential DNS errors produced in outbound network requests to avoid unhandled exceptions. ## What problem is it solving? Fixes the problem described in #535. ## How is the problem addressed? The PR introduces a `try-catch` statement to catch errors produced when invoking `lookup` to resolve the target host address. When this happens, it sends empty binary data as a notification that the connection initiated but soon after, it closes the connection with error code `3000`. ## Testing Instructions The [original issue](#535) references `wp-now`, so it's recommended to test the changes using a local build of `wp-now` from the [`playground-tools` repository](https://github.com/WordPress/playground-tools). 1. In `wordpress-playground` repository, run `nx build php-wasm-node`. 2. Check out [`playground-tools` repository](https://github.com/WordPress/playground-tools). 3. In `playground-rools` repository, update the `@php-wasm/node` dependency to point to the local path of the `wordpress-playground` repository. **Example:** ```patch diff --git forkSrcPrefix/package.json forkDstPrefix/package.json index cc623dc57810509691383fa068cc8f921c957f48..ac84b7f467c2f7d23b9fa8c5f9487cafdb4644e6 100644 --- forkSrcPrefix/package.json +++ forkDstPrefix/package.json @@ -32,7 +32,7 @@ "@codemirror/state": "6.2.0", "@codemirror/theme-one-dark": "6.1.1", "@codemirror/view": "6.9.3", - "@php-wasm/node": "0.6.10", + "@php-wasm/node": "file:../wordpress-playground/dist/packages/php-wasm/node", "@php-wasm/progress": "0.6.10", "@php-wasm/universal": "0.6.10", "@php-wasm/web": "0.6.10", ``` 4. Run `npm i`. 5. Run `nx build wp-now`. 6. Run `node dist/packages/wp-now/cli.js start`. 7. Turn off internet connection. 8. Navigate to the site's WP admin (`/wp-admin`). 9. Observe no errors are logged and that `wp-now` doesn't crash. 10. Navigate to `/wp-admin/plugin-install.php`. 11. Observe no errors are logged and that `wp-now` doesn't crash. 12. Observe that the page shows an error message due to being offline. 13. Navigate to `/wp-admin/update-core.php` 14. Observe no errors are logged and that `wp-now` doesn't crash. > [!NOTE] > It's recommended to disable the network cache in your browser via the DevTools Network tab.
I just merged the fix, thank you @fluiddot! Let's close this issue once wp-now releases a new version. |
@adamziel , I cannot see the new version on npm. Expected: 0.6.12 , Current: 0.6.10 |
Not sure if it's related but I noticed recent |
This is fixed on wp-now 0.1.69 https://www.npmjs.com/package/@wp-now/wp-now/v/0.1.69 |
When working offline (such as on an airplane), trying to navigate into the WP admin causes wp-now to crash:
Steps to reproduce
wp-now start
in a plugin or theme directory or other startup method.http://127.0.0.1:8881/wp-admin/
The text was updated successfully, but these errors were encountered: