Upgrade to React@16 (next)

And eventually replace react-async-component with native async behaviour (hopefully!)
https://github.com/facebook/react/issues/10294

I'm excited about the SSR with streaming!

Going to try and blog my experience

Looks like async server stuff isn't coming until later. Either way, cant wait.

Awesome, this gonna be a major improvement.

Yeah, @strues is right, looks like async work didn't land into the new server renderer.
Also the server renderer has a few issues and sounds quite experimental at this stage so it may be worth sitting this out a bit in a branch.

The server renderer doesn't yet support returning arrays and strings from components.

The server renderer has been completely rewritten, and now offers a streaming mode (it's currently exposed via react-dom/node-stream). Server rendering does not use markup validation anymore, and instead tries its best to attach to existing DOM, warning about inconsistencies. This server renderer code is still very new, so it is likely to have issues. Please report them.

One cool new feature of fiber is that it is gonna be less heavy handed on the checksum validation!  Allowing partial mismatches which it would try to resolve in place rather than doing a full re-render.  Sounds like an awesome win for SSR as sometimes it can be tediously difficult to keep the checksum matching in place.

With regards to next, curious what you folks think about https://github.com/faceyspacey/react-universal-component or other such newer components coming up for universal rendering? Or is react-async-component/react-loadable working smoothly for you folks?

Hey @oyeanuj - I haven't looked at it in detail yet, but it looks very very promising.
Here is my brief overview of the 3:
react-loadable is the library of choice if you are doing client side only. Community behind it and James is a very pragmatic and respected developer.
react-async-component was my temporary solution to being able to do SSR with RR4.  It gets you most of the way whilst avoiding some of the crazy webpack/babel configs that I previously had to do.
react-universal-component looks like @faceyspacey has nailed out most of the issues and complexity you have around webpack config in terms of SSR, and abstracts it all away.  If it gives us a native type feel with sync rendering on the server, thats a win in my opinion and we should consider switching.
And then a final note/feeling on all of it:
Ideally I would like a more native implementation, i.e. async rendering in the server render of react, however if react-universal-component may be another respectable stepping stone whilst we wait for that to happen.

When Fiber async comes out, apparently there still won't be support for it:
https://twitter.com/dan_abramov/status/893267299909554176
However, even if there were, that doesn't solve the primary problem: discovering what chunks that were rendered. Why? Because on the client, the initial main chunk etc still has to load, be parsed, evaluated, and then executed before additional chunks were discovered and fetched from the server.
So you just lost somewhere between, i dunno, 500ms and 5 seconds, via a completely async strategy. That said, if the chunks were discovered in the async rendering on the server, and available for the async rendering on the client, they would already be loaded, parsed and evaluated at the same time as main before the first rendering, and available in one tick after the async import().
So in essence even if Fiber async massaged the process here, it only removes one (now irrelevant) challenge: "weakly" requiring dynamically imported modules so they don't end up in the parent bundle. It's irrelevant now because of babel-plugin-universal-import, but would certainly be welcome if that wasn't needed. It's just not the primary challenge, though an important one to making this all frictionless and therefore accessible for wide-spread use.
Either way, it doesn't sound like 2017 will see React resolving promises in render for you. Also I am hesitant about the performance implications of waiting during render. Maybe it's a good thing to unblock the thread for other requests to come through, and maybe it's just best to complete that render and get the result to the client. I don't think we'd be filling our render tree up with promises unless we absolutely have to, which we now don't. But honestly I could be wrong on that one, as after all the non-blocking this is what Node perf is all about.
I'm very excited about the new streaming aspect. I wonder if async rendering on the server jives with the streaming aspect.
On a side note, the streaming strategy has its own core challenge to code-splitting: since stylesheets come at the top of the page, you have to know what stylesheet chunks to render at the start of the stream, not as you discover them midway through the rendering. By that time it will be too late.
The solution I and @swernerx of come up with is to move the discovery of what chunks will be rendered to the "route level." For example, if we know that route/path /foo/:bar always requires the same chunks, we can know the stylesheet chunks to append to the top of the page at the beginning of the stream.
There's 2 ways we've thought of thus far to address that:

when you define your UniversalComponent in the top level evaluation (what some people refer to as "statically"), also define the routes they apply to. That way before renderToStream is called or at the beginning of its execution, those stylesheets can be known.
the second is to wrap renderToString and renderToStream in a thin wrapper function that calls renderToString the first time a new route is requested, and based on the chunks discovered, automatically embeds them in future requests when renderToStream is used.

At the end of the day, there's a lot more that needs to be done in this space besides just serving chunks. Serving data fetched at the component-level and then rehydrating on the server is one. The next is an interface for the client to prefetch those component-level data dependencies. That's not something I'd expect to see React helping us with any time soon. And they don't need to--it can all be done in package-land. @ctrlplusb 's react-async-bootstrapper which does most of the work has helped me build such a prototype already. It was built on the 1.0 version of react-universal-component, so I primarily need to make it work for the 2.0, but also address future considerations such as prefetching.

@faceyspacey I'd love to be able to try the prototype of this data-fetching library, if available!

Serving data fetched at the component-level and then rehydrating on the server is one. The next is an interface for the client to prefetch those component-level data dependencies. That's not something I'd expect to see React helping us with any time soon. And they don't need to--it can all be done in package-land. @ctrlplusb 's react-async-bootstrapper which does most of the work has helped me build such a prototype already. It was built on the 1.0 version of react-universal-component, so I primarily need to make it work for the 2.0, but also address future considerations such as prefetching before releasing the API.

@ctrlplusb Have you or anyone already integrated react-universal-component with this library? Has it been easy/hard?

...Fiber aka asynchronous rendering in React, is just a scheduling algorithm. It just allows React to interrupt itself and do something else if it recognizes that a newer, more prioritized component update will replace part of the DOM tree in the future, then it can abort, not wasting any more resources there and start working on the newest change. It ought to give better-perceived perf when many things change over a period of time.
So, I'm kinda lost about how async-component which is a code splitting strategy is related to that?
Also, I've found that the simplest way to actually get this to work, is just to be honest about the fact that you need to know your routes up front (not necessarily statically, just up front). The way we have it set up is that we just walk our routes config.
We then use react-router-configs matchRoutes and renderRoutes to discover what to draw. At this point we know what components we need to prefetch and what data to put in our store.
I thought the idea of having an async-component as a higher order function was swell but I changed it a bit. As part of our route discovery process we unwrap all the async components in the matched routes. It's very simple really.
const routes = [
{
path: '/',
component: asyncComponent()(() => import('./Actual')) // higher-order component for code splitting
}
]

Promise.all(matchRoutes(routes, '/').map((route) => route.component = route.component.resolve())).then(() => render(renderRoutes(routes)), document.getElementById('...'))

resolve is just a static function that does the dynamic/async import and returns a promise with the component.
I think that's right, hope it conveys the general idea. By the time we actually do render, server-side or client side the components will have been resolved from import directives to simple components.

I'm a big fan for doing things "route level" instead of "component level" as that solves a lot of problems with SSR. Basically if you have nested components doing additional fetches or imports, you are greatly increasing load time. And if you only have one such component that you discover per route, you're better off formalizing the contract with Routes as I promote with redux-first-router.
However, the challenge in doing what you're doing here without a synchronous fallback when available is that the time till interactive (TTI) is way longer on the client. You have to wait for all the following to sequentially happen:

download the main chunk
parse it
evaluate it
render it
discover + load imports
re-render!

If your components, or in your case routes, also had webpack's require.resolveWeak functionality as is built in to react-universal-component you could discover the chunks needed and transport them to the client by embedding them in the initial HTML. The result is you don't have to wait all the way to the render to get your remaining chunks. Here's what the above sequence now looks like:

download the main chunk + all rendered/discovered chunks server-side
parse everything
evaluate everything
render once

So again, I love your routes setup. I really recommend that way to go when it comes to SSR. But in terms of code-splitting, you're losing precious time (basically seconds) before the app can be fully used. Here's the beginning of how I would do your approach (it would need the infrastructure from react-universal-component and other packages from the Universal suite such as webpack-flush-chunks re-written for a route-level approach, *which is a great idea!):
const routes = [
 {
   path: "/",
   componentAsync: asyncComponent()(() => import("./Actual"))
   componentSyncId: require.resolveWeak("./Actual")
 }
];

Promise.all(
 matchRoutes(routes, "/").map(
   route => (route.component = route.component.resolve())
 )
).then(() => render(renderRoutes(routes)));

const isServer = typeof window === 'undefined'
const render = ({ app, chunks } ) =>
 isServer
    ? res.send(html(app, chunks)) // html will inject chunk <scripts> into served HTML
    : ReactDOM.render(app, document.getElementById('root'))

// pseudo-ish code:
componentRoute.prototype.resolve = function() {
  if (this.hasChunk()) return Promise.resolve(this.componentSync())
  else return this.componentAsync() // already a promise
}

componentRoute.prototype.hasChunk = function() {
   return __webpack_modules__[this.componentSyncId]
}

componentRoute.prototype.componentSync = function() {
   // very fast (1 tick), but still a promise (it could be written to be completely sync though)
   return asyncComponent()(() => Promise.resolve(__webpack_require__(this.componentSyncId))
}

In this case, resolve will somehow dynamically toggle between the two based on detecting if hasChunk has the chunk.
What's missing is that renderRoutes() needs a way to discover the names of the chunks that correspond to componentSyncId so it can embed the additional <script> tags. The ID is just the webpack module ID of a given a module. The chunk name is different. You can look into the webpack-flush-chunks code for inspiration. But ultimately there can be a lot to it. My babel-plugin-universal-import package actually generates the chunk names in an easy to discover way where react-universal-component is able to record it and pass it along to webpack-flush-chunks, etc etc. It's very annoying stuff.
..Or instead of making my system work with Routes, just rely on react-universal-component. See, the thing is this: since RUC is able to synchronously require on the server (and more importantly again on the client), it doesn't matter if you have nested imports--they will all resolve synchronously in these 2 key places. You don't save any time [till interactive] by doing it at the route level. Essentially you get nothing for your money by moving this to the route level like you would with async data fetches :)

@oyeanuj we'll chat on Reactlandia Chat about it. Ultimately the amount of time I have has gone to near zero since the release of these packages. It may take significant time to bring the old prototype back to life. I rather just get the new one out as soon as possible. Ultimately, I really need help with all this stuff to take it to the obvious next levels. There's a clear vision here. One that has been needed for a very long time in Reactlandia.

@faceyspacey

if you have nested components doing additional async fetches, you are greatly increasing load time on the server

Not necessarily. The route matching algorithm is a discovery algorithm and it can run before any of the asynchronous tasks finish, so it's should only matter what the latency is for the longest running async task.
I'm still assuming that if you do choose to nest routes and you're still up front about it.
const routes = [
  {
    path: "/",
    component: asyncComponent()(() => import("./Actual")),
    routes: [...] // <- nested routes go here
  }
];

the challenge in doing what you're doing here without a synchronous fallback when available is that the time till interactive (TTI) is way longer on the client

What's a good metric? I think we do pretty good, 50-500 ms depending on how we measure and what extensions run in the background. Lots of noise.
Again, a bit of bookkeeping is needed for this but we actually name all our chunks explicitly. I did try to figure out a more magic way to make this work but it's just too much pain to go thourgh, it's brittle and difficult to understand.
const routes = [
  {
    path: "/",
    webpackChunkName: 'chunk1',
    component: asyncComponent()(() => import("./Actual")),
    routes: [...] // <- nested routes go here
  }
];

So if you hit this route, we know that we should prefetch chunk1 which we do. The only thing the client has to do is to resolve the promises there is now latency there other than the implied setImmediate, it should be less than 1 ms, for sure.
We don't embed the javascript together with the actual first request but that could be even faster, will have to test that out later.
Anyway, my journey through this has led me to conclude that it's just easier to keep all this in a configuration up front. And rely on a recursive renderRoutes function to render what's needed and where needed.

my extract-css-chunks-webpack-plugin handles that.
I highly suggest you read my articles. I've solved all these precise pain points in essentially the best possible way.
https://www.medium.com/faceyspacey
Are using Redux? I have 2 "beats" if you will: Universal Rendering and my Redux-First Router product. They work together:
https://github.com/faceyspacey/redux-first-router
In short, there is a connection between routing and universal code-splitting, but that is actually only "prefetching."  However these 2 product lines work great together, while really getting routing right for Redux.
There should be no pain around this stuff if you're using these tools. If you're using React Router + Redux, don't. Redux-First Router is, as several of my users have said "the router now."
Sorry if im comin off abrupt, Im just laying it out there--cuz all this would mean u have nothing custom to maintain anymore, and ur up to speed with the latest and greatest. Read the articles--u sound extremely versed in this stuff. I got it though, ur embedding the chunks in the initial request. That was the primary hurdle. Great work!
So either way, if u research what I've setup, u'll see i also made https://github.com/faceyspacey/babel-plugin-universal-import
which imports both a js chunk and stylesheet. and the extract css chunks webpack plugin insures you generate multiple stylesheets. It's all a system. It's basically dubbed as "the frameworkless approach to the best features of Next.js." Which means there is some configuration/setup, but that's the price of forgoing the limitations of a framework.
Anyway, all this makes everything work as u would expect with traditional web apps, just with code-splitting adding to the mix. I'm not saying it's the only way, but truth is there has been no general frameworkless way. I'm supporting all my users vigilantly. You could implement this stuff in your app and have it no longer be your responsibility as a custom ad-hoc setup. Hope you come to my camp :)
and thanks @ctrlplusb for all the great recommendations! It's truly a rare thing to see a developer having made similar tools recommend the work of another. Ur a gem!!

@faceyspacey What's makes you think I haven't? ;D
But it's not that easy, we know our needs and we're adapting what's there to fit and with less abstraction. I really prefer not to hide these details or rely too much on external packages for core things. I've read through many of your articles and drawing inspiration from looking at your work. Sometimes though, it's not entirely obvious how we'd pull everything together and to be honest, we just don't have the luxury to fix everything right now. Next time around, we'll make a pass over CSS again and by that time I'm hoping the webpack support is there.

@leidegre For the code you mentioned here: I was wondering if you plan to publish it anywhere? Or is there a gist/repo with rest of the server/route logic that one could take a look at?

@leidegre that u mentioned ur CSS is one big chunk. Yes u may be waiting a lot longer than hoped for full webpack support.
Extract CSS chunks webpack plugin and the dual-import package can work with ur route based strategy. That way u can forgo the bigger component based change. Client side it should just work. Server side it sounds like u already have under control--but you will have to modify it to send stylesheets (which probably can just share the same name as the js chunk but with a different extension).
Check out babel-plugin-dual-import. It's for use without React Universal Component.

@oyeanuj oh yeah, I'm not done with this yet but everything is there you can take a look here https://github.com/tessin/tessin-react
@faceyspacey I would like to pick your brain about this subject at some hypothetical future point in time...

So what is the status on this? anything holding 16 back? Are we gonna see that that sweet renderToNodeStream TTFB soon?

Yeah, it's in progress. 😉

Any update?

one thing which I just realized trying to upgrade both Styled-Components and React-Helmet (rather React-Helmet-Async) to streaming is that this file will need to be reworked to enable streaming of content within head and body.
https://github.com/ctrlplusb/react-universally/blob/master/server/middleware/reactApplication/ServerHTML.js
Right now, the whole app gets streamed, after collecting head and style tags whereas both React-Helmet-Async and Styled-Components now allow for streaming their respective output.

I'm noticing that the react middleware still uses renderToString for the entire React App and then renderToNodeStream for the HTML using that appString. That looks wrong. renderToString will create a performance bottleneck as far as I understand it..

Correct, and we already have PR #564 to solve that issue.


What about Email OTP?

Does the Email OTP option factor into this policy? Under https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-system-preferred-multifactor-authentication#how-does-system-preferred-mfa-determine-the-most-secure-method I see the ranking for TOTP, but the footnote:
1 Includes hardware or software TOTP from Microsoft Authenticator, Authenticator Lite, or third-party applications.
...doesn't call out Email OTP specifically. My question is: would an Email OTP be more or less preferred over Telephony?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f6278919-974b-c2e1-bccb-0bc513baa5d1
Version Independent ID: 43db176b-3732-61c1-e57b-7c22e0949826
Content: System-preferred multifactor authentication (MFA) - Microsoft Entra
Content Source: articles/active-directory/authentication/concept-system-preferred-multifactor-authentication.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@pyoungberg
Thanks for your feedback! We will investigate and update as appropriate.

@pyoungberg
The ranking for TOTP is based on the fact that it provides stronger security than SMS/Phone and email is the least secure. However, email-based OTP is still considered a secure method of MFA. In the case of Azure AD B2C, you can use email-based OTP as a backup method for phone-based OTP. If phone-based OTP is not available, the user can choose to receive the OTP via email instead. So, to answer your question, email OTP is less preferred than TOTP, but it is still a secure method of MFA.

Thank you for the clarification! Can you update the article to include that please? Much appreciated 👍

@pyoungberg
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation


Type error when used with<EMAIL_ADDRESS>

The Server.GameMetadata type was renamed to Server.MatchData in<EMAIL_ADDRESS>causing type errors (see https://github.com/boardgameio/boardgame.io/issues/809).
To-do

[x] Release a patch for the current version of the library with the bgio peer dependency marked as < 0.40. (4facd71)

[x] Update the peer dependency to >= 0.40 and use the new type naming. (2c4bef742)

Fixed in 0.2.0


[i2c] potential host mode setup violation

This is from the latest regression.
From ToT,
cmd:
./util/dvsim/dvsim.py ./hw/ip/i2c/dv/i2c_sim_cfg.hjson -i i2c_host_fifo_full -r 1 -v m -s 697054528 -w fsdb
result:
UVM_ERROR @<PHONE_NUMBER> ps: (i2c_scoreboard.sv:389) uvm_test_top.env.scoreboard [uvm_test_top.env.scoreboard]
direction WRITE item mismatch!
@1064213394ps,  host_driver stretch clock by driving i2c_if.scl_o to 'low'.
@1064353394ps, host_driver release i2c_if.scl_o and 'ack' is accepted by dut.
@1064533394ps, dut drive tb.dut.i2c_core.scl_o to high.
from the fig below, tlow value is 0xC but low period between<PHONE_NUMBER>,<PHONE_NUMBER>)ps
is only 9 cycles.

thanks @jdonjdon let me have a look.

hmm. looks like this is happening because the subsequent command (the one after the short scl_o pulse) is actually a start. So the external target is expected to reset somewhat. Still it would be nice to make this consistent, let me see what I can do.

btw looking at this..i wonder if we need to beef up the host tests to do more interleaving restarts / stop and clock stretches too... i wonder what other issues you'll find...

I will add the test after I target open items are done.

@jdonjdon i've re-opened for now. This test no longer fails for me even when i run more seeds, but i'll leave it to you to make the final decision.

it passes for me. Close this issue.


v5 Regression react-error-overlay build - Uncaught ReferenceError: process is not defined

I use following command to start: npm run start
Then, whenever I save a file, I get the following "Uncaught ReferenceError: process is not defined" error in the browser console.

I have no problem with react-scripts 3
Isnt process a node environment variable? How does it end up in the browser?

Is it fixed if updating to react-scripts v5?

Unfortunately I am facing a different issue with the websocket connection not using not using wss but ws even though I use https, thus the browser refusing to connect the websocket, in v5... So I cant test v5 at this time.

Is installing old versions of cra, e.g. 4.0.3 via package.json and npm install, installing webpack 5 now too? I read that process  is no longer defined with webpack 5.

I see the same error with these dependencies.
node: 16.10.0
npm: 7.24.0
react-scripts:  5.0.0
Uncaught ReferenceError: process is not defined
    4043 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    8048 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    8641 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    onload index.js:1
    be index.js:1
    he index.js:1
    tryDismissErrorOverlay webpackHotDevClient.js:184
    onHotUpdateSuccess webpackHotDevClient.js:109
    handleApplyUpdates webpackHotDevClient.js:257
    tryApplyUpdates webpackHotDevClient.js:273
    promise callback*tryApplyUpdates webpackHotDevClient.js:271
    handleSuccess webpackHotDevClient.js:106
    onmessage webpackHotDevClient.js:203
    js webpackHotDevClient.js:195
    Webpack 7

Does 'rm -rf node_modules' and then npm/yarn install resolve the issue?

I see the same error with these dependencies.
node: 16.10.0 npm: 7.24.0 react-scripts: 5.0.0
Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.
Uncaught ReferenceError: process is not defined
    4043 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    8048 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    8641 blank line 66162 > injectedScript:2
    r blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    <anonymous> blank line 66162 > injectedScript:2
    onload index.js:1
    be index.js:1
    he index.js:1
    tryDismissErrorOverlay webpackHotDevClient.js:184
    onHotUpdateSuccess webpackHotDevClient.js:109
    handleApplyUpdates webpackHotDevClient.js:257
    tryApplyUpdates webpackHotDevClient.js:273
    promise callback*tryApplyUpdates webpackHotDevClient.js:271
    handleSuccess webpackHotDevClient.js:106
    onmessage webpackHotDevClient.js:203
    js webpackHotDevClient.js:195
    Webpack 7

I had similar error after doing npx rimraf ./**/node_modules and npm install.

Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

The dependencies:
node: 14.17.1
npm: 6.14.13
react-scripts: 4.0.3
Uncaught ReferenceError: process is not defined
    at Object.4043 (<anonymous>:2:13168)
    at r (<anonymous>:2:306599)
    at Object.8048 (<anonymous>:2:9496)
    at r (<anonymous>:2:306599)
    at Object.8641 (<anonymous>:2:1379)
    at r (<anonymous>:2:306599)
    at <anonymous>:2:315627
    at <anonymous>:2:324225
    at <anonymous>:2:324229
    at HTMLIFrameElement.e.onload

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

This also happened for me sometimes. Whenever that happens and I inspect the page or any elements, everything is in an iframe and not accessible.

actually yes exactly same is happening with me im not sure what this issue is cause by if any one know what's causing this help out! im using react js

same here...
Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

This also happened for me sometimes. Whenever that happens and I inspect the page or any elements, everything is in an iframe containing javascript.

yes and when you delete that iframe from elements/DOM then it all works fine

icame here for same reason ...

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

I also had the same issue. It adds iframe overlay that's why I was not able to click on page. Updating to react-scripts to 5.0.0 solved my issue.

i did that but now its giving me new error while doing npm start TypeError: match.loader.options.plugins is not a function
btw im using craco to build the app any one knows what is happening?

In my case I have not created an iframe, but one of the dependencies has created one.  Not much I can do about that.

No the dependency that has an iframe I believe is keycloak-js

but i dont have that dependency still im getting iframe

No the dependency that has an iframe I believe is keycloak-js

Hmm, I wonder if react-scripts or something else is creating an iframe too.

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

I also had the same issue. It adds iframe overlay that's why I was not able to click on page. Updating to react-scripts to 5.0.0 solved my issue.

where you also using tailwind?

No i am not using tailwind.

Hmm, I wonder if react-scripts or something else is creating an iframe too.

you guys using eslint?

Hmm, I wonder if react-scripts or something else is creating an iframe too.

As #11773 reports, the problem seems to be related to react-error-overlay. Upgrade to 5.0.0 fixes the issue for me, but I'm affected by the breaking changes.

eslint is part of react-scripts I believe

Hmm, I wonder if react-scripts or something else is creating an iframe too.

As #11773 reports, the problem seems to be related to react-error-overlay. Upgrade to 5.0.0 fixes the issue for me, but I'm affected by the breaking changes.

I tried too updating react-scripts to 5.0.0 but as im using craco to create my builds and to compile so idk im getting an error you can check it here any help would be appreciated

but if you just delete that iframe from inspect element in chrome that doesn't appears back again until you do a hot reload while if you make changes in code and it re-renders at that time that iframe doesn't appears

CRA v5 now use the error overlay in webpack
I think the process error is due to us updating the react-error-overlay package build to wp5 - so a regression we need to fix.
Cc @iansu

my problem is
ionic start myApp blank --type=react
ionic start myApp tabs --type react
from this https://ionicframework.com/docs/react/quickstart igot error  for 14 hours -_-
`Uncaught ReferenceError: process is not defined
    at Object.4043 (<anonymous>:2:13168)
    at r (<anonymous>:2:306599)
    at Object.8048 (<anonymous>:2:9496)
    at r (<anonymous>:2:306599)
    at Object.8641 (<anonymous>:2:1379)
    at r (<anonymous>:2:306599)
    at <anonymous>:2:315627
    at <anonymous>:2:324225
    at <anonymous>:2:324229
    at HTMLIFrameElement.e.onload `

after 14 hours i try  this
ionic start aa my-first-app --type react
problem solved
maybe help other people who stuck on ionic Starter Templates

Have you found a solution to this? This only started happening to me since I deleted and reinstalled all of my dependencies this morning.

Per others on this thread, I made the following update to my package.json:
"react-scripts": "5.0.0"

I then encountered a number of eslint errors. I added a missing eslint-plugin-flowtype package (that showed up in the new react-error-overlay). Based on a new error, I then needed to update eslint-plugin-react-hooks from v1 to v4 (link). Then, I learned that eslint has also updated to v8, and needed to update typescript-related linting packages as well (link).
In sum, I upgraded the following eslint-related packages.
"@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.7.0",
"eslint": "^8.4.1",
...
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-react-hooks": "^4.3.0",

I also encountered a sass-loader problem (project uses node-sass). Based on the following link, I deleted the boilerplate "font-family" line from App.scss, leftover from the original CRA project (link).
I encountered this error earlier this week. I haven't been able to find any explicit messages or threads dealing with webpack getting a breaking update in CRA projects. Hoping this helps!

Having this same error... anyone come up with a good solution? wondering if this is related to npm and aws servers being down since this is so recent

Having this same error... anyone come up with a good solution? wondering if this is related to npm and aws servers being down since this is so recent

that error is due to CRA update

Having this same error... anyone come up with a good solution? wondering if this is related to npm and aws servers being down since this is so recent

that error is due to CRA update

Any way to resolve it that you would recommend?

Having this same error... anyone come up with a good solution? wondering if this is related to npm and aws servers being down since this is so recent

that error is due to CRA update

Any way to resolve it that you would recommend?

nothing that i know of yet

I just upgraded react-scripts to v5.0.0. It's resolved

Upgrading to v5 should solve the issue as v5 no longer use react-error-overlay - that said we have a regression in the react-error-overlay (as the build was updated to Webpack 5) - We aim to make a patch release soon fixing this issue.

I came here for the same issue. I'm using react 17.0.2, react-script 4.0.3. It just happened recently. Beside upgrading to react-script 5, do we have any other solution? I don't want to upgrade to react-script 5 since it will break storybook and will take me more time to debug and solve story book issues.

I came here for the same issue. I'm using react 17.0.2, react-script 4.0.3. It just happened recently. Beside upgrading to react-script 5, do we have any other solution? I don't want to upgrade to react-script 5 since it will break storybook and will take me more time to debug and solve story book issues.

I'm also facing the same issues, while waiting for the real solution as this is dependency issues, and I can't afford to upgrade to react-script 5 as it breaks my whole application and I really need to continue with my final year project. What i did was adding mutation observer to detect whenever the iFrame is injected into the body element which blocks the entire page, which then I remove that element. The iframe is injected only once after first hot reload, once delete it will not comeback until you do manual refresh

I'm closing this issue in favor of #11773

I upgraded my Node.js to 16+ from 14.17.5 and accordingly adjusted node-sass version. But my app started showing some problems. But then again I downgraded my Node.js and node-sass to 14.17.5 and 4.14.1 respectively. But i started facing this same issue.
Node.js - 14.17.5
npm - 7.20.5
react-scripts - 4.0.1
VM47:2
   Uncaught ReferenceError: process is not defined
at Object.4043 (<anonymous>:2:13168)
at r (<anonymous>:2:306599)
at Object.8048 (<anonymous>:2:9496)
at r (<anonymous>:2:306599)
at Object.8641 (<anonymous>:2:1379)
at r (<anonymous>:2:306599)
at <anonymous>:2:315627
at <anonymous>:2:324225
at <anonymous>:2:324229
at HTMLIFrameElement.e.onload (index.js:1)

I'm facing the same issue.
Let me know when you guys fix it please.

I'm facing the same issue. Let me know when you guys fix it please.

A temporary fix was mentioned here #406940.
Adding this to devDependancies seems to resolve the issue:
"react-error-overlay": "6.0.9",

I'm facing the same issue. Let me know when you guys fix it please.

A temporary fix was mentioned in #406940
Adding this to devDependancies seems to resolve the issue: "react-error-overlay": "6.0.9",

Still the same.

@raix issue still remains. Adding react-error-overlay did not resolve.

I was using CRA + CRACO + tailwind + tailwind/typography. Here's what I did and it solved the issue for me:

Upgrade react-scripts to v5
Upgrade tailwind to v3
Remove tailwind configuration from CRACO (it's not needed anymore)
Change tailwind/typography from dependencies to devDependencies and upgrade it

I was using CRA + CRACO + tailwind + tailwind/typography. Here's what I did and it solved the issue for me:

Upgrade react-scripts to v5
Upgrade tailwind to v3
Remove tailwind configuration from CRACO (it's not needed anymore)
Change tailwind/typography from dependencies to devDependencies and upgrade it

Do you know why tailwindcss cause the issue

Same on mine project as well, issue still remains after adding react-error-overlay

I also had this problem. Upgrading react scripts to 5.0.0 solved my problem. to upgrade react script : npm install<EMAIL_ADDRESS>.

When I update to @.*** I got other 20 issues.
[http://site.imagemhost.net/images/2014/10/13/assinatura.png]

From: Monsur Hillas @.>
Sent: December 20, 2021 05:10
To: facebook/create-react-app @.>
Cc: Rodrigo Botelho @.>; Comment @.>
Subject: Re: [facebook/create-react-app] v5 Regression react-error-overlay build - Uncaught ReferenceError: process is not defined (Issue #11771)
I also had this problem. Upgrading react scripts to 5.0.0 solved my problem. to upgrade react script : npm install @.*** .
—
Reply to this email directly, view it on GitHubhttps://github.com/facebook/create-react-app/issues/11771#issuecomment-997780926, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEHIUDHMVHAQFWOFTGDBYOLUR36HXANCNFSM5KE55VZA.
You are receiving this because you commented.Message ID: @.***>

Another workaround for those who don't want to update to<EMAIL_ADDRESS>Add "react-error-overlay": "6.0.9" to your package.json
The problem was that<EMAIL_ADDRESS>does use<EMAIL_ADDRESS>in its package.json. However, since 6.0.10 is marked as a patch, npm does use v6.0.10 instead of v6.0.9. And Facebook, please... v6.0.10 does not compatible with v6.0.9

nope, nothing has changed with above instructions, still proces is not defined error exists.

Can we please get an update on this? I am pretty frustrated with fetching the website anew after each change

nope, nothing has changed with above instructions, still proces is not defined error exists. in fact<EMAIL_ADDRESS>is now using<EMAIL_ADDRESS>but error is still there.

It should work with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Can you verify the version of each package in package.json and package-lock.json?

@ngxson no, I get the process is not defined error with the following.
React scripts snippet:
    "node_modules/react-scripts": {
      "version": "4.0.3",
      "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz",
      "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==",

React error overlay:
    "react-error-overlay": {
      "version": "6.0.10",
      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz",
      "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA=="
    },

@bweston92 you're having<EMAIL_ADDRESS>and it doesn't work. v6.0.9 will work.

Thanks, that does work, I realised I hadn't manually specified the dependency in my projects requirements, but when I did manually it overridden the looser constraints on react-dev-utils.
So React scripts 4.0.3 has a dependency on "react-dev-utils": "^11.0.3", which has the dependency on "react-error-overlay": "^6.0.9", which matches 6.0.10. Maybe a React scripts 4.0.4 needs releasing with a fix for those stuck on v4?

TL;DR: Make sure you have<EMAIL_ADDRESS>and not 6.0.10

Another workaround for those who don't want to update to<EMAIL_ADDRESS>* Add `"react-error-overlay": "6.0.9"` to your `package.json`

* Delete `node_modules` and `package-lock.json` (don't skip this step)

* Reinstall dependencies

The problem was that<EMAIL_ADDRESS>does use<EMAIL_ADDRESS>in its package.json. However, since 6.0.10 is marked as a patch, npm does use v6.0.10 instead of v6.0.9. And Facebook, please... v6.0.10 does not compatible with v6.0.9
Another (more dirty) workaround is to modify version of react-error-overlay in package-lock.json:
    "react-error-overlay": {
      "version": "6.0.9",
      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
      "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
    },

This solution worked for me. Had to force it using resolutions field though. Thank you! (I'm using Yarn workspaces)

I'm on CRA 4.0.3 and just as the last comment mentions in the end, adding<EMAIL_ADDRESS>to my devDependencies did not resolve the issues however adding as a resolution seems to work:
"resolutions": {
    "react-error-overlay": "6.0.9"
  }

Solved after 2 hours.
a mixed solution of @edub008 and @cchampou
You have to use resolutionsand "react-error-overlay": "6.0.9"`
remember to delete node modules and package-lock.json
:smile:

I'm on CRA 4.0.3 and just as the last comment mentions in the end, adding<EMAIL_ADDRESS>to my devDependencies did not resolve the issues however adding as a resolution seems to work:
"resolutions": {
    "react-error-overlay": "6.0.9"
  }

TL;DR: Make sure you have<EMAIL_ADDRESS>and not 6.0.10

Another workaround for those who don't want to update to<EMAIL_ADDRESS>* Add `"react-error-overlay": "6.0.9"` to your `package.json`

* Delete `node_modules` and `package-lock.json` (don't skip this step)

* Reinstall dependencies

The problem was that<EMAIL_ADDRESS>does use<EMAIL_ADDRESS>in its package.json. However, since 6.0.10 is marked as a patch, npm does use v6.0.10 instead of v6.0.9. And Facebook, please... v6.0.10 does not compatible with v6.0.9

The same issue occurred after upgrading to 5 version of webpack.

This started sporadically occurring for me on v4 after I changed the the id of root div. Changing it back to "root" fixed it.

I'm on CRA 4.0.3 and just as the last comment mentions in the end, adding<EMAIL_ADDRESS>to my devDependencies did not resolve the issues however adding as a resolution seems to work:
"resolutions": {
    "react-error-overlay": "6.0.9"
  }

Thanks a lot, this workaround is working fine.

TL;DR: Make sure you have<EMAIL_ADDRESS>and not 6.0.10

Another workaround for those who don't want to update to<EMAIL_ADDRESS>
Add "react-error-overlay": "6.0.9" to your package.json
Delete node_modules and package-lock.json (don't skip this step)
Reinstall dependencies

The problem was that<EMAIL_ADDRESS>does use<EMAIL_ADDRESS>in its package.json. However, since 6.0.10 is marked as a patch, npm does use v6.0.10 instead of v6.0.9. And Facebook, please... v6.0.10 does not compatible with v6.0.9
Another (more dirty) workaround is to modify version of react-error-overlay in package-lock.json:
    "react-error-overlay": {
      "version": "6.0.9",
      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
      "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
    },

Added to dependencies and it works for me.

setting it in resolutions of package.json didn't work for me; i had to add it as an explicit devDependencies entry.

setting it in resolutions of package.json didn't work for me; i had to add it as an explicit devDependencies entry.

Same here

setting it in resolutions of package.json didn't work for me; i had to add it as an explicit devDependencies entry.

Same happened between two cloned projects. As work around suggested for now, after adding "react-error-overlay": "6.0.9" to devDependencies I had to clear yarn cache before reinstalling node modules.

This worked for me. Thank you!
But I didn't have to delete my yarn.lock (I don't have a package-lock since I'm using yarn). I had to only delete node_modules.

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

@swcisel

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

Same for me too

I was able to resolve this by manually adjusting my yarn.lock file (😬):
Before:
"react-error-overlay@npm:^6.0.9":
version: 6.0.10
resolution: "react-error-overlay@npm:6.0.10"
checksum: e7384f086a0162eecac8e081fe3c79b32f4ac8690c56bde35ab6b6380d10e6c8375bbb689a450902b6615261fcf6c95ea016fc0b200934667089ca83536bc4a7
languageName: node
linkType: hard

After:
"react-error-overlay@npm:^6.0.9":
version: 6.0.9
resolution: "react-error-overlay@npm:6.0.9"
checksum: 695853bc885e798008a00c10d8d94e5ac91626e8130802fea37345f9c037f41b80104345db2ee87f225feb4a4ef71b0df572b17c378a6d397b6815f6d4a84293
languageName: node
linkType: hard

Followed by yarn install to download the correct version (6.0.9).
The immediate, working fix for this is likely to adjust react-scripts's package.json to change "react-error-overlay": "^6.0.9" to "react-error-overlay": "6.0.9".
The longer-term, working fix for this is likely to revert<EMAIL_ADDRESS>and re-publish it as 7.0.0.

my reactApp App was working fine . but all sudden this issue is arrived i dont know how and from where it came from.
on inital refresh it works fine but when i edit and save . iframe is append on html file .if i give it display block then i can click elements otherwise not.
ReferenceError: process is not defined
at Object.4043 (:2:13168)
at r (:2:306599)
at Object.8048 (:2:9496)
at r (:2:306599)
at Object.8641 (:2:1379)
at r (:2:306599)
at :2:315627
at :2:324225
at :2:324229
at HTMLIFrameElement.e.onload
i have added "react-error-overlay": "6.0.9" in my package json file no gain
my react scrips  "react-scripts": "^4.0.3",

my reactApp App was working fine . but all sudden this issue is arrived i dont know how and from where it came from.
on inital refresh it works fine but when i edit and save . iframe is append on html file .if i give it display block then i can click elements otherwise not.
ReferenceError: process is not defined
at Object.4043 (:2:13168)
at r (:2:306599)
at Object.8048 (:2:9496)
at r (:2:306599)
at Object.8641 (:2:1379)
at r (:2:306599)
at :2:315627
at :2:324225
at :2:324229
at HTMLIFrameElement.e.onload
i have added "react-error-overlay": "6.0.9" in my package json file no gain
my react scrips  "react-scripts": "^4.0.3",

@mustafa174 You need to change the version of react-error-overlay in your lock file. If you are using Yarn2/Yarn3, see this comment on how to do so.

@mustafa174 You need to change the version of react-error-overlay in your lock file. If you are using Yarn2/Yarn3, see this comment on how to do so.

Finally I figured out the issue. For me, the reason was because there was un caught exception. If you have such issue you have to check your terminal or CMD  where you run your app.

Having this same problem. Adding "react-error-overlay": "6.0.9" into devDependencies or overrides didn't work, npm still decided to add version "6.0.10" into package-lock.json.
However, using "resolutions" and yarn fixed the problem.

I confirmed that the text displayed by the react-error-overlay library on the screen is the same as the error displayed on the terminal.
So I temporarily used iframe { display: none } in reset.css.

I confirmed that the text displayed by the react-error-overlay library on the screen is the same as the error displayed on the terminal.
So I temporarily used iframe { display: none } in reset.css.
I hope the bug is fixed. 🙏

but i am using video player in my app which as also iframe . i have already done this method it works if u don't have other frame

nope, nothing has changed with above instructions, still proces is not defined error exists. in fact<EMAIL_ADDRESS>is now using<EMAIL_ADDRESS>but error is still there.

It didn't work for me aswell. But when i did npm install<EMAIL_ADDRESS>back again after npm install. It worked.

While adding it to the resolutions prop might work for some, for me it only worked after I added it directly to the devDependencies. Anyone know why this bizarre bug came up?

I believe resolutions property only works on Yarn 1 so won't fix users of Yarn 2 or 3.
This bug came up because react-error-overlay published a breaking change with a patch semver instead of a major version bump.

Add the config below into the package.json. And it works. 🙏🏼
"resolutions": {
    "react-error-overlay": "6.0.9"
}

it's not helping me

Follow the steps as mentioned in here. https://github.com/facebook/create-react-app/issues/11880

TL;DR: Make sure you have<EMAIL_ADDRESS>and not 6.0.10

Another workaround for those who don't want to update to<EMAIL_ADDRESS>
Add "react-error-overlay": "6.0.9" to your package.json
Delete node_modules and package-lock.json (don't skip this step)
Reinstall dependencies

The problem was that<EMAIL_ADDRESS>does use<EMAIL_ADDRESS>in its package.json. However, since 6.0.10 is marked as a patch, npm does use v6.0.10 instead of v6.0.9. And Facebook, please... v6.0.10 does not compatible with v6.0.9
Another (more dirty) workaround is to modify version of react-error-overlay in package-lock.json:
    "react-error-overlay": {
      "version": "6.0.9",
      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
      "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
    },

Worked for me

Add the config below into the package.json. And it works. 🙏🏼
"resolutions": {
    "react-error-overlay": "6.0.9"
}

it's not helping me

Try adding it to devDependencies like I did.

Add the config below into the package.json. And it works. 🙏🏼
"resolutions": {
    "react-error-overlay": "6.0.9"
}

This is probably working for yarn.
I have to do some other operation to make it effective also for npm:
1. Install npm-force-resolutions
npm i npm-force-resolutions
This helps to use the resolutions mechanism in npm.
2. Add the force resolutions preinstall script in package.json
"scripts": {   "preinstall": "npx npm-force-resolutions" }
3. Now add the resolution
"resolutions": {
"react-error-overlay": "6.0.9"
}
4. Delete package-lock.json
5. Delete node-modules
6. Install all packages again
npm install
I hope it helps!

sorry but I realized that this issue is currently showed as 'Closed', so I am just wondering if this issue will be addressed on CRA side in the future or we'll need to manually fix it using the workaround mentioned above?

Add the config below into the package.json. And it works. 🙏🏼
"resolutions": {
    "react-error-overlay": "6.0.9"
}

This is probably working for yarn.
I have to do some other operation to make it effective also for npm:
1. Install npm-force-resolutions
npm i npm-force-resolutions
This helps to use the resolutions mechanism in npm.
2. Add the force resolutions preinstall script in package.json
"scripts": { "preinstall": "npx npm-force-resolutions" }
3. Now add the resolution
"resolutions": {
    "react-error-overlay": "6.0.9"
}

4. Delete package-lock.json
5. Delete node-modules
6. Install all packages again
npm install
I hope it helps!

/**
 * until https://github.com/facebook/create-react-app/issues/11771
 * gets fixed, let's hide the problem and not address it
 */
body > iframe[style*="2147483647"]:not([id="webpack-dev-server-client-overlay"]) {
    display: none;
}

IMO while this is a total hack, it's less fragile that modifying yarn.lock / package-lock.json

I was experiencing this issue like 1 month. But, yarn add react-error-overlay solved my issue.

For me, clearing cache worked. Use below command to clear your cache.
yarn cache clean

Must've been a cache / dependency issue for me, I used a stronger version of @mustkem 's suggestion (not sure if the ordering of these are technically correct):
yarn cache clean
rm -rf node_modules/ && rm yarn.lock
yarn install
npx yarn-upgrade-all 👈 https://www.npmjs.com/package/yarn-upgrade-all
This worked from my end.

That guy found a solution
https://github.com/facebook/create-react-app/issues/11880#issuecomment-1005409614

upgrading react-scripts to v5 => rm -rf node_modules => npm install solved the issue for me

be careful with v5 #11756 !!
we are staying with v4.0.3 with provided workaround.

I must confirm https://github.com/facebook/create-react-app/issues/11771#issuecomment-1017125835 as a better solution than installing npm-force-resolutions etc.
When you follow workaround with npm-force-resolutions after first code change and reload, you lost control over your DOM in browser inspector tool. You can't inspect your elements as inspector navigates you to iframe with Javacript code only...

So, does the CRA team have any plans to fix this bug in the future? Is the only way to solve it by adding it(resolutions) or upgrade v5 ?

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

I also had the same issue. It adds iframe overlay that's why I was not able to click on page. Updating to react-scripts to 5.0.0 solved my issue.

where you also using tailwind?

I use tailwind with my project (craco installation) and I am facing the same issue of the screen freezing when cntrl+saving and "reloading" new code when developing so I have to refresh the browser in every save...

in dot env file try
NODE_ENV='development'

To fix the problem, define the variable pro-actively before the library is loaded,
window.process = {
env: {
NODE_ENV: 'development'
}
}
The fix/script can be loaded with e.g.:

I just solve that issue.
npm i -D<EMAIL_ADDRESS>and it works perfect

update react , react dom and react-scripts

Add this to package.json below the dependencies
"resolutions": { "react-error-overlay": "6.0.9" },
Install react-error-overlay v6.0.9 inside your devDependencies.

This is a possible solution Stackoverflow: Process not defined.
You don't have to touch any dependencies.
Add this to App.js
useEffect(() => {     window.process = {       ...window.process,     };   }, []);
In case you are using classes then use:
componentDidMount (){ window.process = { ...window.process } }

in yarn.lock or package-lock.json file to find string
"react-error-overlay@npm:^6.0.9":   version: 6.0.10 <-- here problem   etc...
and replace to
<EMAIL_ADDRESS>   version "6.0.9"   resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"   integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
saved file and run yarn install

Hey guys, i just changed my "react-scripts" and "react" deps versions to
"react": "^16.13.1"
"react-scripts": "3.4.1"
then deleted node_modules and yarn.lock files, reinstall all deps using yarn.
And its works.

same here... Hot reload continues to work, but the page becomes unresponsive. Can't click or do anything unless you do a manual refresh.

yepp getting exact the same response when I had to downgrade react-scripts from 5.0.0 to 4.0.3 to connect Metamask with React/TS(to avoid polyfill issue caused).
for example hot reload with sass is working and showing result in browser, but page becomes unresponsive.

uinsg yarn command is better than using 'npm install' in my experience

For those still having issues with this: If using Webpack, in your Webpack config, add import Dotenv from "dotenv-webpack";
Then:
...
plugins: [
    ...
    new Dotenv(),
],
...

After trying everything else, this finally worked for me.

I wanted to fix the mentioned refresh error and I updated the react-scripts to the v5.
Now I have "process is not defined" when I start the app and a blank screen.
I'm only using react-scripts, without directly using webpack or anything.

I just solve that issue. npm i -D<EMAIL_ADDRESS>and it works perfect

this worked perfect for me 👍

I just solve that issue. npm i -D<EMAIL_ADDRESS>and it works perfect

Worked perfectly with "react-scripts": "4.0.3",
Thanks :rocket:

In my case, the app works just fine in local but when i deploy the app in Azure (app service) the error keeps showing in the console, leavin the app unresponsive.
If anyone knows how to fix that problem when in production, i'd appreciate the help.. Thanks

-        "react": "^17.0.2",
+       "react": "^18.0.0",
-        "react-dom": "^17.0.2",
+        "react-dom": "^18.0.0",
-        "react-scripts": "^4.0.3",
+        "react-scripts": "5.0.0",

I passbyed this problem by upgrading some of the main dependencies.

For developers that can not fix it, there is a simple solution that can help you get rid o freezing situation
body > iframe[style*="2147483647"]:not([id="webpack-dev-server-client-overlay"]) {   display: none; }

tell me one solution please

npm i -D<EMAIL_ADDRESS>this works for me

For developers that can not fix it, there is a simple solution that can help you get rid o freezing situation
body > iframe[style*="2147483647"]:not([id="webpack-dev-server-client-overlay"]) { display: none; }

Worked for me as well. Thanks @faridsh69


Java 10

Tried Java 10 - failed because of RangeSlider
Minor fixes & improvements

Added xlint warnings and made some changes due to "unchecked" warnings
Tried Java 10 and failed due to RangeSlider issues
Minor fixes & improvements in StatisticsViewer & ShowAlerts


nixos/release.nix: Add nixos.tests.allDrivers

Description of changes
Follow-up to #176099
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build nixosTests.allDrivers.simple
@ofborg test allDrivers.simple

Hydra had issues with recursing into nixos.tests.allDrivers.allDrivers.allDrivers... and this PR seems to drop that cycle 🎉


Bump tylerb/graceful

This bumps on of our dependencies which has had a lot of fixes in the past few weeks. I have a hunch it may have something to do with our leaked socket issue.
r? @kitchen

:ship:


Improve all-angle route_bundle to allow no backbone

Backbones with only 1 point are still not allowed. With only one point the bundle cannot (easily) have an orientation, therefore it will raise an error.
Fixes #352

awesome!


hardwired "peopleObject" in uiSelectController.js

line:158
result.value = $scope.peopleObj[v];
A quick fix:
result.value = $scope[ctrl.parserResult.sourceName][v];
But obviously it doesn't support object hierarchy like config.US.states, which relates to how parserResult is generated.

Duplicate of #1217 which has been fixed in 0.13.1


[submission] Creative Privacy

The Design Problem
Creative pursuits often involve multiple people. Cloud-based collaboration typically takes place in shared digital spaces. However, the feeling of being observed while working can be uncomfortable, as many of us value privacy when developing new ideas.
The Design Solution
Creating a space for users to exercise their creative privacy, for example by giving users the options to make a private, editable copy of a shared document. This issue is orthogonal to decentralized technologies, but of course decentralized technologies are uniquely positioned to solve it as there is nothing more private than "local" (on my computer only).
Examples
We haven't seen a real-world implementation of this pattern just yet.
Why Choose Creative Privacy?
Creative Privacy is not only a design goal, it can also be used to frame the value proposition of a decentralized technology.
Best Practice: How to Implement Creative Privacy

Give clear UI indicators between the private and shared version of the document
Do not automatically upload to a shared cloud

Potential Problems with Creative Privacy
The Take Away
References & Where to Learn More

[Upwelling discusses the problem at length](https://www.inkandswitch.com/upwelling/)

Notion's scratchpad is an example of this.


Why make another repository instead of a tag?

Title says it all. I don't really see a reason for making it another repository, especially since every other version was released under a version tag.

Just a tag doesn't work, because a certain v.c is needed as well.
The repo will be removed today, it's no longer needed.

Fair enough. I think a branch would've done the trick in that case but I guess everyone has their own ways 💁♂


Context menu Copy command freezes app (on main branch)

Describe the bug
In Ubuntu when I activate Copy the app freezes.  Console is Terminator.
Ctrl+Q does not respond, no response to clicks/keypresses etc.  Only way out is to close terminal or kill process.
Also worth noting is that while the program is blocking I can't copy anything in other apps either (e.g. Firefox).  Its like the Copy method is blocking and holding onto xclip (or the clipboard process) so nobody else can use it but never exits.
To Reproduce
Steps to reproduce the behavior:

Open Editor Scenario
Select some text
Select Copy

Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Issue does not exist in 8e70756cd857f5f273d9471e35a98caae83769ae so I think it was introduced in #1828

Do you are using CursesDriver or NetDriver?

Do you are using CursesDriver or NetDriver?

Curses Driver

Sorry, at the time, I was going to make some changes that I ended up not concluding or not making sense and forgot to replace.

Sorry, at the time, I was going to make some changes that I ended up not concluding or not making sense and forgot to replace.

No worries, glad we caught this before a nuget package shipped and thanks for the quick fix


Introduce Recommended access order (RAO) via EA

Summary of changes
Introduce Recommended access order (RAO) support via EA by ltfs.vendor.IBM.rao.
Description
This update introduce the support of the RAO (GRAO, RRAO) command, which was introduced from LTO-9.
Only linux scsi generic (sg) driver is supported in this fix.
How to use

Set a file path to a correct GRAO Parameter Data via VEA on mount point.
A xxx.out file containing the RAO List will be made in the same directory.

example:
attr -s ltfs.vendor.IBM.rao -V ~/xxx <mount dir>
# The result will be created in `~/xxx.out`

Type of change

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have confirmed my fix is effective or that my feature works

This is not good for merging to v2.4-stable because you already merged the changes to master on your branch.
I think it is impossible to merge your branch to v2.4-stable anymore. Could you create another PR to merge your changes to master ?
After that, I will try to merge it to v2.4-stable by cherry-pick.

Can I close this one ?

Yes, I think we can. Closing PR.


Add minLabel and maxLabel properties.

Added minLabel and maxLabel properties. It looks like these props are not supported by Lumin.
@grozdanov Let's discuss.
Resolves #318
Thank you for your contribution to MagicScript Project.
Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved terminology
[ ] You have added unit tests
[ ] You have updated documentation

@kpiascik We decided not to add minLabel and maxLabel props to the public interface due to the platform incompatibility (magic script components for Lumin does not support these props yet).

@grozdanov @kpiascik I added new GitHub issue #333 related to min|maxLabel props on Lumin. Therefore, it makes sense to merge this PR.


freerdp-shadow-cli: add support to multi monitor

Is your feature request related to a problem? Please describe.
RDP clients support multimonitor, currently the shadow server on Linux supports only one monitor creating a screen attached to the primary one.
Describe the solution you'd like
To have a /multimon switch like for the client and to be able to select which monitors are shadowed by the server, e.g. /monitors=0,2 in a three monitor setup (where /multimon without /monitors implies all the remote monitors). A single window on the client side is expected
Describe alternatives you've considered
Right now it's only possible to start multiple shadow servers, listening on different ports, pointing to different monitors by using /monitors=X, this doesn't offer the best user experience
Additional context
nothing

I have found #7514 but I cannot understand how that works because in the code only one monitor is selected by the shadow server. In fact only one monitor is displayed when connecting with mstsc client with "Use all my monitors for the remote session" flag


on_macos/on_linux block: fix rubocop for special cases

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?
[ ] Have you successfully run brew man locally and committed any changes?

These should not be allowed:

Single SendNode that isn't depends_on/patch/resource/etc.

on_macos do
  desc "Collection of Linux utilities"
end

BlockNode that isn't depends_on/patch/resource/etc.

on_macos do
  bottle do
    cellar :any
  end

  depends_on "libcap"
end

Before:
% brew style util-linux

1 file inspected, no offenses detected

After:
% brew style util-linux
Library/Taps/homebrew/homebrew-core/Formula/util-linux.rb:19:3: C: on_macos can only include depends_on, patch and resource nodes.
  on_macos do ...
  ^^^^^^^^^^^

1 file inspected, 1 offense detected, 1 offense auto-correctable

Review period will end on 2020-12-09 at 22:39:55 UTC.

  on_macos do ...
  ^^^^^^^^^^^

Would be better to actually mark the node inside the block that is not allowed.

Review period ended.


add parallel interface

Proposed changes
The parallel interface provides an API for spawning multiple worker processes and collecting results in a fault-tolerant system. Because Swish is single-threaded using lightweight processes, not all programs benefit from multiplexing using this mechanism. Programs that are I/O bound or spawn external OS processes benefit the most.
This commit adds the following exports: parallel, parallel!, parallel:execute, parallel:execute!, parallel:for-effect, parallel:map, and parallel:vector-map

You could use declare-unsafe-primitives to give you a small performance boost in the shuffler and other parts that deal with known fixnums.

Thanks for the detailed review @burgerrg !


SPARKC-283: Adds CassandraOption for Skipping Empty Columns

Previously unset columns had to be set to null since the Cassandra
Protocol <= V3 did not support unbound parameters in bound statements.
The newere version of the protocol allows for this, and this patch
enables the connector to take advtange of that behavior.
This is done through use of a new option container, CassandraOption.
This class holds an Option and the behavior that a None should have upon
being written. With this class a row can have varying behavior from
column to column and row to row.
If an Unset is used on a C* version prior to Protcol Version 3 a warning
will be logged that the Unset functionality cannot be used and the value
will be treated as a Delete instead.

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

@jacek-lewandowski Rebased

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with failure

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with failure

Build against Scala 2.11 finished with success

@jacek-lewandowski Comments addressed

I also added a writeConf parameter for use with SparkSQL

Build against Scala 2.11 finished with failure

Build against Scala 2.10 finished with failure

Build against Scala 2.10 finished with failure

Build against Scala 2.11 finished with failure

Build against Scala 2.11 finished with failure

Build against Scala 2.10 finished with failure

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Apart from code highlighting and renaming one file I'm +1. Those other two comments are rather for discussion and I do not need them addressed there.

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

@jacek-lewandowski Addressed all comments. I redid the bindValue function like you described, if you could take a quick peak I think thats it for this ticket

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

+1, please squash before merging

Thanks will do
On Mon, Feb 1, 2016, 10:13 PM Jacek Lewandowski<EMAIL_ADDRESS>wrote:

+1, please squash before merging
—
Reply to this email directly or view it on GitHub
https://github.com/datastax/spark-cassandra-connector/pull/892#issuecomment-178395178
.

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success


cli: replace export sub-command with -o option

Fixes #6357

Comments on little details, but overall LGTM! I do think we should probably wait to merge this until after the 0.9.7 release (on jan 18th) unless we update the docs before then too. The doc updates might be quick enough to be doable by then though, depending on timing 🤷♂

Oh, you're not targeting 0.9.7 so we have time to update the docs right after the RC?

Comments on little details, but overall LGTM! I do think we should probably wait to merge this until after the 0.9.7 release (on jan 18th) unless we update the docs before then too. The doc updates might be quick enough to be doable by then though, depending on timing 🤷♂

Oh, you're not targeting 0.9.7 so we have time to update the docs right after the RC?

I just mean that we should probably only do a release of this PR's changes once the docs have also been updated, so we have somewhere to point to when all the existing users ask us why dagger download broke 😄 Only brought this up because v0.9.7 is imminent, so didn't want us to merge this w/out doc updates without having considered it first.


decouples middleware modifications

until now middleware modifications composed both unary and streaming middlewares. This worked under the assumption that we wanted the same order in each type of API method.
SpiceDB relies on grpc-ecosystem/go-grpc-middleware to build chains of interceptors, which is not natively
supported by the go gRPC SDK. The order of execution is, assuming a slice of interceptors, from left to right.
Because of the design of gRPC Streaming APIs, composed of stream creation and actual streaming of messages, while the chain of interceptors will follow the expected middleware chain order, the actual interception of messages (RecvMsg and SendMsg) will happen in the opposite order.
Having middlewares depend on each other is a not good practice, but there are circumstances
where at the very least you need a middleware to be the first or the last in the chain, think
middlewares for auditing purposes should happen earlier, otherwise, it wouldn't catch requests that
fail earlier in the chain.
This can be addressed by reversing the order of the middleware to obtain the expected order, but this hasn't been possible because the MiddlewareModification API had both unary and streaming coupled.

ℹ The generated options rely on a modification to ecordell/optgen in order to support generics. See https://github.com/ecordell/optgen/pull/9

Do we have a test for the ordering?

I did a whole thing asserting order in https://github.com/authzed/spicedb/pull/1395


Redirect to unstyled search results page after completing editorial action on page

Issue Summary
When doing an admin-wide search, results pulled in via XMLHttpRequest use an incorrect next querystring parameter in their action links. This means that editors are brought to an unstyled search results page on completing their action.
Steps to Reproduce

Start a new project and create test content which can be searched for
Navigate to /admin/pages/search/
Enter a search query into the box at the top of the page
Open the ... action menu for one of the search results, and choose the Edit (*) action.
Edit the page and publish it
The browser is redirected to  /admin/pages/search/results/, which is unstyled.

Expected behaviour: the next parameter ends the action journey on /admin/pages/search/.

(*also applies to any action which sets a next parameter in its link querystring)
Screenshots

This appears to be similar to https://github.com/wagtail/wagtail/issues/11177

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.10.12
Django version: 5.0.3
Wagtail version: 6.0.2
Browser version: Firefox 125.0

Confirmed on current main branch.

Fixed in #11881


Pygments lexer name 'eval_rst' is not known

In code (from documentation https://recommonmark.readthedocs.org/en/latest/auto_structify.html#embed-restructuredtext):
`` `eval_rst
.. note::

   This is note
`` `

eval_rst recognized as lexer (markdown.md:: WARNING: Pygments lexer name 'eval_rst' is not known).
Sphinx 1.3.5
recommonmark 0.4.0
CommonMark 0.5.4

I'm sorry, did not notice that you need to configure AutoStructify... :(


Why not provide a file without sourcemap?

Since sourcemap does not need it in the production, I think that it should provide a file that does not contain it.
For example:
Provide sourcemap assets/scripts/dist/choices.js
Not provide sourcemap assets/scripts/dist/choices.min.js
// webpack.config.prod.js
var config = {
  devtool: minimize ? false : 'cheap-module-source-map',
  entry: [
  ...

Hey @lion-man44,
Makes sense, would you mind submitting a PR for this? I'll be happy to review it :)

@jshjohnson
OK, sent you PR :)
https://github.com/jshjohnson/Choices/pull/230
Please review 😃

This issue is closing.
If there is a problem, please reopen it.


fix coding and math issues

Looks like it fails easy tasks on coding and math https://www.youtube.com/watch?v=On3Zuv27V3k suggest fixing it

Hi @antonkulaga ,
Thanks for the link. We'll evaluate those cases with our chat version models and reply back later.

Hi, @antonkulaga
We have already released our chat model, try it out! -> https://huggingface.co/01-ai/Yi-34B-Chat
Here is the math & code tests in the video, responsed from our chat model. The math result is correct and the code result pass the compiler(but not work properly)
math: 25 - 4 * 2 + 3 = ?
Let's solve the equation step by step:
25 - 4 * 2 + 3
First, we need to perform the multiplication:
4 * 2 = 8
Now, we substitute the result back into the equation:
25 - 8 + 3
Next, we perform the subtraction:
25 - 8 = 17
Finally, we add the last number:
17 + 3 = 20
So, the result is 20.
code: write the game "snake" in python.
Creating a simple text-based version of the classic Snake game in Python is straightforward. The following is an example of how you can implement Snake using Python's built-in tkinter module for the GUI.
First, you'll need to install tkinter if you haven't already. You can install it using pip:
pip install tk

Here's a simple implementation of Snake:
import tkinter as tk
import random

# Constants
GRID_SIZE = 20  # Size of each cell in the grid
GAME_WIDTH = 20  # Number of cells wide
GAME_HEIGHT = 20  # Number of cells high

# Colors
BG_COLOR = "white"
GRID_COLOR = "gray"
SNAKE_COLOR = "black"
FOOD_COLOR = "red"

# Initialize the window and the canvas
root = tk.Tk()
root.title("Snake Game")
root.resizable(False, False)

canvas = tk.Canvas(root, width=GRID_SIZE * GAME_WIDTH, height=GRID_SIZE * GAME_HEIGHT, bg=BG_COLOR)
canvas.pack()

# Create the snake
snake = [
    [GAME_WIDTH // 2, GAME_HEIGHT // 2]  # Head
]
direction = "right"  # Direction the snake is facing

# Generate food
food_x, food_y = generate_food()

# Game loop
running = True
while running:
    # Get input
    key = get_key()
    if key == "left":
        direction = "left"
    elif key == "right":
        direction = "right"
    elif key == "up":
        direction = "up"
    elif key == "down":
        direction = "down"

    # Move the snake
    snake_head = snake[-1]
    new_x = snake_head[0]
    new_y = snake_head[1]
    if direction == "left":
        new_x -= 1
    elif direction == "right":
        new_x += 1
    elif direction == "up":
        new_y -= 1
    elif direction == "down":
        new_y += 1

    # Check if the snake head hits the wall or itself
    if new_x < 0 or new_x >= GAME_WIDTH or new_y < 0 or new_y >= GAME_HEIGHT:
        running = False
        break
    elif new_x in [s[0] for s in snake] and new_y in [s[1] for s in snake] and new_x != snake_head[0] and new_y != snake_head[1]:
        running = False
        break

    # Move the snake
    snake.append([new_x, new_y])
    snake.pop(0)  # Remove the tail

    # Draw the grid and the snake
    canvas.delete("all")
    draw_grid()
    draw_snake(snake)

    # Check if the snake ate the food
    if snake_head[0] == food_x and snake_head[1] == food_y:
        # Generate new food
        food_x, food_y = generate_food()
        # Grow the snake
        snake.append([snake_head[0], snake_head[1]])

    # Draw the food
    canvas.create_oval(food_x * GRID_SIZE, food_y * GRID_SIZE, (food_x + 1) * GRID_SIZE, (food_y + 1) * GRID_SIZE, fill=FOOD_COLOR)

    # Update the window
    canvas.update()
    root.update()
    root.update_idletasks()
    root.after(100, update_screen)  # Call the update function every 100 ms

# Game over
root.destroy()
print("Game Over!")

And here are the helper functions:
def draw_grid():
    for x in range(GAME_WIDTH):
        for y in range(GAME_HEIGHT):
            canvas.create_line(x * GRID_SIZE, y * GRID_SIZE, (x + 1) * GRID_SIZE, y * GRID_SIZE, fill=GRID_COLOR, width=1)
            canvas.create_line(x * GRID_SIZE, y * GRID_SIZE, x * GRID_SIZE, (y + 1) * GRID_SIZE, fill=GRID_COLOR, width=1)

def draw_snake(snake):
    for segment in snake:
        canvas.create_rectangle(segment[0] * GRID_SIZE, segment[1] * GRID_SIZE, (segment[0] + 1) * GRID_SIZE, (segment[1] + 1) * GRID_SIZE, fill=SNAKE_COLOR)

def generate_food():
    while True:
        food_x = random.randint(0, GAME_WIDTH - 1)
        food_y = random.randint(0, GAME_HEIGHT - 1)
        if not (food_x in [s[0] for s in snake] and food_y in [s[1] for s in snake]):
            return food_x, food_y

def get_key():
    key = ""
    while key not in ["left", "right", "up", "down"]:
        key = input("Press left, right, up, or down: ")
    return key

def update_screen():
    global running
    if not running:
        return
    root.update()
    root.update_idletasks()
    root.after(100, update_screen)

This code will create a window with a simple grid where the snake will move around. The snake will grow when it eats the food, and the game will end when the snake hits the wall or itself.
Please note that this is a very basic implementation and does not include all the features of a full-fledged Snake game, such as different game modes, scores, or power-ups. You can extend this code to add these features if you like.


BUG 🐞: Add link to "How it Works" page in the footer's "Need Help" section

Hey @Priyaaa1,
Here is the issue i encountered -
Describe the bug
Upon reviewing the project files, I discovered that there is a file named "how it works" that is not linked anywhere on the live website.

I propose adding a link to this page in the footer section's "Need Help" section.

Improves user experience by providing easy access to the "How it Works" page.
Enhances the website's navigation and helps users find important information quickly.

To Reproduce
Steps to Reproduce:

Scroll down to the footer section.
Observe that there is no link to the "How it Works" page.
Review the project files and find the "how it works" file that is not linked anywhere on the live website.

Screenshots

@Priyaaa1, Please assign me this issue under GSSOC'24?

@Priyaaa1


CpuAccessibleBuffer: switch to parking_lot RwLock

This allows ReadLock and WriteLock to be Send and Sync.

@Eliah-Lakhin do you mind taking a look at this?

@rroohhh Thank you for your contribution!
Why do you think having Send+Sync for CPU Accessible buffer would benefit Vulkano users? Can you describe use cases, please.
There are a number of questions we probably should cover with this migration first:

We are adding new dependency to the Vulkano crate which complicates build process.
Having Send+Sync is good per se, but CPU Accessible Buffer is probably not the only restricted place. Maybe we need a more generalized solution.
I'm not sure if Send+Sync wouldn't brake the Vulkan resource locking logic. The underlying Vulkan resource might lost even if the Guard is still valid, so it would lead to unsafe behavior. I'm not sure about this part, but just to mention that just changing the Lock Guard type may be not enough.

@Eliah-Lakhin

Why do you think having Send+Sync for CPU Accessible buffer would benefit Vulkano users? Can you describe use cases, please.

Ok, so we are using this in axiom-recorder to do multi-threaded zerocopy processing. Currently this is used to process a image in one thread in a vulkan compute shader, which writes its output to a CPU Accessible buffer and then ships off that buffer to other threads for further processing (like writing the result to a file, or stuffing it into ffmpeg to do h264 encoding).
To avoid the need to lock the CPU Accessible buffer we are creating the ReadLock on the thread that does the vulkan processing and use owning-ref to combine it with the CPU Accessible buffer itself (see this). We are creating this in the thread that does the GPU Processing to avoid having the threads that will receive the buffer need to known about  CPU Accessible buffers and having to lock them first. This way it is completely transparent to them and looks just like any other T : Deref<Target = [u8]>.

We are adding new dependency to the Vulkano crate which complicates build process.

parking_lot is a widely used crate (about 40000 weekly download from crates.io) so this should not cause big problems.

Having Send+Sync is good per se, but CPU Accessible Buffer is probably not the only restricted place. Maybe we need a more generalized solution.

CPU Accessible Buffer is already Send+Sync, only the lock guards are not, I am not sure there are more restricted places.

I'm not sure if Send+Sync wouldn't brake the Vulkan resource locking logic. The underlying Vulkan resource might lost even if the Guard is still valid, so it would lead to unsafe behavior. I'm not sure about this part, but just to mention that just changing the Lock Guard type may be not enough.

I am not sure this should introduce any new problems, before CPU Accessible buffer was already Send+Sync so it could already be send to other threads. The returned guard still has the same lifetime as before (the lifetime of the underlying CPU Accessible buffer) so you cannot use the guard after the CPU Accessible buffer gets dropped. The only actual way to get the guard itself on another thread is using something like owning-ref or a scoped thread api like crossbeam::scope.

@rroohhh I'm happy more projects migrating to Vulkano, and I don't see any more blockers for this change too. Thank you for detail explanation. PR is merged.


Looking at RETS-STATUS when returned

Description
GitHub Issues

Coverage decreased (-0.9%) to 91.681% when pulling 75c91fcd357b1e1adec915b3d37522683b6c6c0d on rets-status into a50740f51d3d9e7ae10895f0b65f40e5b8912c7e on master.


Ensure info section is always displayed, even in the event of an error

@t-genc good change, could you please resolve conflicts?


Fix for Issue #2 - Refactors the inject_content function and introduces a mechanism to handle failed injections

Summary
This PR refactors the inject_content function and introduces a mechanism to handle failed injections in the injector plugin.
Changes

Handling of failed injections: A new feature has been implemented to handle cases where code injections fail due to the target tags not being found in the content. When an injection fails, it is now added to a list of failed injections that is stored in instance._context. A new function, final_injection_attempt, was introduced and is connected to the content_written signal. This function attempts to perform the failed injections after the content has been written to disk.

Note
To avoid potential performance issues, it might be interesting to support a new element, potentially with a default value, to support indicating if a certain injection should only be attempted during content_written signal. OTOH, this could be automatic, based on a list of tags that are not found in article/page writes, such as HEAD.

I have tested locally with this configuration:
INJECTOR_ITEMS = [
    ('head', '<script>console.log("42");</script>'),
]
INJECTOR_IN_PAGES = True
INJECTOR_IN_ARTICLES = True

And indeed, it's there in every page and article:
"}</script><script>console.log("42");</script></head>


Change Wup installer y mod to Wup installer gx 2

Wup installer gx2 has a nicer interface and is easier to manage folders with.

You can't just PR the name and link...
Instructions have to be added. Open an issue and I'll do it.


I have an unusual error on macOS - How do i fix SDL2

Traceback (most recent call last):
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/sdl2/dll.py", line 223, in <module>
    dll = DLL("SDL2", ["SDL2", "SDL2-2.0"], os.getenv("PYSDL2_DLL_PATH"))
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/sdl2/dll.py", line 104, in __init__
    raise RuntimeError("could not find any library for %s (%s)" %
RuntimeError: could not find any library for SDL2 (PYSDL2_DLL_PATH: unset)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/<username>/Library/Python/3.8/bin/xbox-nano-client", line 5, in <module>
    from xbox.nano.scripts.client import main
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/xbox/nano/scripts/client.py", line 12, in <module>
    from xbox.nano.render.client import SDLClient
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/xbox/nano/render/client/__init__.py", line 2, in <module>
    from xbox.nano.render.client.sdl import SDLClient
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/xbox/nano/render/client/sdl.py", line 2, in <module>
    from xbox.nano.render.video.sdl import SDLVideoRenderer
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/xbox/nano/render/video/sdl.py", line 5, in <module>
    import sdl2
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/sdl2/__init__.py", line 2, in <module>
    from .dll import get_dll_file, _bind
  File "/Users/<username>/Library/Python/3.8/lib/python/site-packages/sdl2/dll.py", line 225, in <module>
    raise ImportError(exc)
ImportError: could not find any library for SDL2 (PYSDL2_DLL_PATH: unset)

This should help: https://github.com/marcusva/py-sdl2#requirements
pip install pysdl2-dll

This should help: https://github.com/marcusva/py-sdl2#requirements
pip install pysdl2-dll


Update README.md

Contribution Guidelines
Please ensure your pull request adheres to the following guidelines:

Search previous suggestions before making a new one, as yours may be a duplicate.
Make an individual pull request for each suggestion.
Use the following format: Bookmark Title: Description.
The title usually consists of several words. For bookmarks of an article or tutorial, use the title of the article.
The description consists of one-two sentences about the bookmark. It is required.
If the resource has 2 or more links please provide the Github repo link.
Additions should be added to the bottom of the relevant category.
New categories or improvements to the existing categorization are welcome.
Check your spelling and grammar.
Make sure your text editor is set to remove trailing whitespace.
The pull request and commit should have a useful title.

Thank you for your suggestions!

Hey @salunkheketki19 ! Thanks for the PR.
I see this is your first contribution to Awesome-NLP. Welcome :)


Fix bug with snap rotation on rotated canvas.

Steps to reproduce:

Set snap angle to 45
Import Andy model
Grab rotate the canvas so Andy is facing away from you
Try and rotate Andy

Prior to this fix, rotations around x and z axes were reversed.

Hmmm. Something is a bit off now I test this more. Converting to draft.


Add a cargo option to generate coverage reports using -Z instrument-coverage

The Rust unstable book includes some examples of the workflow for generating LLVM coverage reports using -Z instrument-coverage.
Given the flexibility of this feature, having these detailed examples is useful, but there should be an "easy button" for generating coverage reports for the more common use cases. (I have some personal bash scripts to simplify the process during development, for example.) cargo can provide a great foundation for cross platform automation of Rust coverage analysis.
Some loose requirements, off the top of my head, include:

Enable coverage analysis of both cargo run and cargo test options. (Enabling the coverage report workflow will, therefore, probably be a flag option to these commands, versus a separate command, I think.)
Automatically configure LLVM_PROFILE_FILE, with the right filename patterns for filename deconfliction, and a path to a coverage-specific subdirectory of the target directory.
Automatically delete old profraw, profdata, and report data, before starting another coverage analysis (unless the user provides a flag option to retain old data).
Enable all of the features shown in the unstable book documentation, including test coverage (for example, if doc tests are included, the workflow should automatically enable --persist-doctests, and the workflow should automatically include the right test binaries when running the llvm-cov command).
There should be a way to include llvm-cov options in the cargo command.
There should be a default llvm-cov option configuration that generates a coverage report with minimal cargo flags, and perhaps a few easy flags for other common configurations (for example, generating results as text, with ANSI terminal color highlights or not, or generating HTML, with files saved in the coverage target subdirectory with associated profraw/profdata files).
There should be a way to re-run the coverage reports with different options without re-running the binaries/tests.

If possible, use timestamps and dependencies, and automatically re-use old results if the program/tests were not re-built by cargo

Longer term:

There should be a way to generate reports from multiple binary/test runs, by merging the profraw data from multiple executions (being careful not to automatically delete data from prior runs when the user requests this feature).

This is a dupe of #13040, closing in favor of that


SOS Help me

And  here is the log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/share/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/badboy17/leon/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:/root/.local/bin:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /home/badboy17/leon
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c',
10 silly lifecycle   'cross-env LEON_NODE_ENV=production node ./server/dist/index.js' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
13 verbose stack Error<EMAIL_ADDRESS>start: cross-env LEON_NODE_ENV=production node ./server/dist/index.js
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (/usr/share/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:198:13)
13 verbose stack     at ChildProcess. (/usr/share/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:198:13)
13 verbose stack     at maybeClose (internal/child_process.js:982:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /home/badboy17/leon
16 verbose Linux 5.5.0-1parrot1-amd64
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v10.20.1
19 verbose npm  v6.14.4
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>start: cross-env LEON_NODE_ENV=production node ./server/dist/index.js
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Question

can you rather copy the lines like those in your screenshot but make sure to include  a bit more lines, I suspect the first error appears earlier in the install process (please do not copy everything neither, just from a few lines before you spot the first red error message). That may help debug your issue. I do not find the log particularly useful (I have issues to install this too and the log gives less details than the outputs from the install process).

I am having this same issue and it is so frustrating. Spent over 8 hours trying to reinstall and rebuild everything.  Please help.

Thanks for your report!
Could you please try with the latest version of the develop branch ?
Also there is now Gitpod, so you can easily start Leon directly in your browser, it is worth taking a look: https://gitpod.io/#https://github.com/leon-ai/leon


Task12 and 13

please approve

@nayser
Task -12
Code verified.
Task -13
Code verified.
Task -14
Code verified. invalid output check it
Task -15
Code verified.


Trying to reproduce the TravisCI failure of #186

DO NOT MERGE THIS AS IS

Verified that the issue is a too short timeout for TravisCI, @ktoso will fix on his PR. closing this one.


update Pestuary class (estuary_url )

the pestuary class should not allow estuary_url to be initialized through the user

No, disagree with this. Users may choose to run a local estuary node and use pestuary against that.


arrayMerger should be merger, because it can merge not only arrays

This is a PR that proposes to change the naming from arrayMerger to just merger.
Please correct me if I'm missing something, but clearly the function can take any saved state and restore any other state. I have no idea what arrays have to do with anything.

This is passed to merge from deepmerge, and it’s only used for array merges in that function.

Sorry for the effort but @halostatue is correct. This option is directly passed to deepmerge and is only used for merging arrays.


Prevent observers stopping the countdown if observers-ready is true

If observers-ready is set to false, observer can't /ready (tram already ready) and can't /unready (team can't unready)
Fixes #711

merged