Question:
We have instances which is used to provide spacing for both side of the component to wrap it up in specific space Example: We can make the Spacer component smarter, and allow it to accept children, so the code be like. But in doing so, we need to: change the current values and how the padding is calculated, the old layout shouldn't change with the new spacers. change which padding has the new value, I think paddingBlock, which is paddingTop and paddingBottom, is the new padding property . I am requesting this because this will make live simpler, and we have to worry about less elements while controling the layout, and if we have specific cases, we can still use
There is an abstraction with , we need address, it's better if we can specify the direction of the padding. but this can be sorted in another issue, for now to solve this issue please allow to have children prop inside of it, but the current styles of the curriculum shouldn't change. If you would like to fix this issue, please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our prolific contributors will guide you through this.
Hey I have few questions while looking into this issue are few files where we have used Spacer, so may I just change wrap the content where ever needed or it would be handled in new issue? (I guess it must be done in other issue, as it would be easy to maintain) have implemented the children props, so may I raise a PR? Will break this issue in 2 other issues as well. 1 for wrapping the places it has been used, and 2nd for specifying the direction. I was wrapping and trying it out, I found out that Spacer has been used at every 2nd-3rd line of code, so do we need such a wrapper which would give spacing to all components present inside it or only to the parent component? EG: If we have 2 divs wrapped inside Spacer, then does both div have the spacing around them or only the outmost div.
sorry for the delay, it was difficult to understand what you mean without looking at an example of code, so to answer you: yes the direction will be in a second issue, but the spacing and values should still be in this issue, so the pages won't look different Of course, please raise a PR after reading the guideline, nicely done . The Spacer shouldn't affect the children inside of it, think of it as creating a container with margin-block to space the area of the children inside of it from other areas
I guess we could close this issue
will be closed when the height is removed in the other PR

className="spacer" style={ { <del> "height": "1px", </del> "padding": "15px 0", } }


Question: In module, currently, the instruction says: Write an directive that goes through a list: and assigns each variable to a class, where the part changes for each item. Each class should set the the respective color. In order to avoid any sort of ambiguity and to make instructions more clear, I think the instructions should be as follows: Write an directive that goes through a list: and assigns each variable to a class, where the part changes for each item to the respective color. Each class should set the to the respective color as well. In module, the instructions should be as follows: Write an directive that goes through a list: and assigns each variable to a class, where the part changes for each item to the respective color. Each class should set the to the respective color as well. <img width="521" alt="image" src=""- Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110

# --instructions-- <del> Write an `@each` directive that goes through a list: `blue, black, red` and assigns each variable to a `.color-bg` class, where the `color` part changes for each item. Each class should set the `background-color` the respective color. </del> <ins> Write an `@each` directive that goes through a list: `blue, black, red` and assigns each variable to a `.color-bg` class, where the `color` part changes for each item to the respective color. Each class should set the `background-color` to the respective color as well. </ins> # --hints--


Question:
Looking forward for reporting a security issue: Please report security issues by following our security policy: Describe the bug A clear and concise description of what the bug is. To Reproduce Steps to reproduce the behavior: The real url for spanish is so i expect that when running locally I could click on globe icon and then choose spanish to go to: http://localhost:8000/espanol/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator But instead i get gatsby dev 404 page. Expected behavior I expect to be able to get to spanish version page. Screenshots If applicable, add screenshots to help explain your problem. <img width="1429" alt="image" src=""Additional context Add any other context about the problem here.
This is actually because the app doesn't build every language at once. It builds a single language - our internationalised sites are separate instances of the application. The language selector does not work locally because there is, in fact, nothing at the endpoint.
We could add a note to: like To see how the client renders in another language go to I think that should be enough.

> [!NOTE] > If you are using Apple Devices with M1 Chip to run the application locally, it is suggested to use Node v14.7 or above. You might run into issues with dependencies like Sharp otherwise. <ins> ## Working With Other Languages To see how the client renders in another language go to [testing the client app in a world language.](how-to-work-on-localized-client-webapp.md#Testing-the-Client-App-in-a-World-Language) </ins> ## Getting Help If you are stuck and need help, feel free to ask questions in the ['Contributors' category on our forum](https://forum.freecodecamp.org/c/contributors) or [the contributors chat room](https://discord.gg/PRyKn3Vbay).


Question:
There are some modules ( e.g: module ) within the section of the course where, when the user submits their solution ( whether correct or incorrect ), then they end up with the following warning within the console: Since this warning is not relevant to the solution submitted by the user, I think it could make the user feel confused. In order to avoid any sort of ambiguity and to keep things as clear as possible, I believe when the user submits their solution and if their submitted solution is not correct ( partially or completely ), then they should only be getting relevant error messages printed onto the console which can help them in debugging their solution, or if their submitted solution is entirely correct, then they should be getting the following messages only ( within the console ): ! Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110
I can see that the error message is pretty cryptic even though it happened somewhere along the stack trace. If you don't mind, can you comment your JSX element so that me and other people can paste the code immediately in the editor and see it for ourselves ?
Can you provide the path of this file.
If you want i can work on this issue. Can you assign this to me. I am expert in react but first timer in open source community. So apologize in advance if i am going out of way in asking this on the thread
Pretty sure that has been there forever. It looks to be caused by running tests with the production builds of React. Maybe we can just use the dev builds. Tested it briefly and it didn't seem to break anything, but I'm not sure what the reason for using the production builds is. Or maybe the error message can be silenced somehow.
Hey thanks for looking into this issue. It would be great if this error message could be silenced somehow or as you mentioned, if using dev builds solves this issue, then I think it would be a good idea to do so given that it doesn't break anything. Let me know what you think about it. Cheers!
I'm pretty sure I have seen this error on other React (maybe React/Redux) challenges as well. I'm not sure if it is just because the prod build is smaller/faster or what? I see no real harm in using the dev build and it would/should make the error go away. But someone from the dev team will have to look at this and approve it. is using the dev build of React an option here?
I'm not entirely sure, tbh. Maybe something can provide insight on.
So, the problem is that we currently bundle react-dom-test-utils into the script that runs the tests, so changing the meta doesn't help us. However, once is in, we will have full control over the scripts that we import and can choose which build we want for the react lessons. I propose we revisit this issue once that's in main and experiment with development builds then.
I am interested to work on this issue. can anyone explain me more clearly what to do next?
Can I work on this?

}; }; <ins> const actRE = new RegExp(/act(...) is not supported in production builds/); </ins> const updateProxyConsole = (proxyLogger?: ProxyLogger) => (frameContext: Context) => { // window does not exist if the preview is hidden, so we have to check.


Question:
There are some modules ( e.g: module ) within the section of the course where, when the user submits their solution ( whether correct or incorrect ), then they end up with the following warning within the console: Since this warning is not relevant to the solution submitted by the user, I think it could make the user feel confused. In order to avoid any sort of ambiguity and to keep things as clear as possible, I believe when the user submits their solution and if their submitted solution is not correct ( partially or completely ), then they should only be getting relevant error messages printed onto the console which can help them in debugging their solution, or if their submitted solution is entirely correct, then they should be getting the following messages only ( within the console ): ! Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110
I can see that the error message is pretty cryptic even though it happened somewhere along the stack trace. If you don't mind, can you comment your JSX element so that me and other people can paste the code immediately in the editor and see it for ourselves ?
Can you provide the path of this file.
If you want i can work on this issue. Can you assign this to me. I am expert in react but first timer in open source community. So apologize in advance if i am going out of way in asking this on the thread
Pretty sure that has been there forever. It looks to be caused by running tests with the production builds of React. Maybe we can just use the dev builds. Tested it briefly and it didn't seem to break anything, but I'm not sure what the reason for using the production builds is. Or maybe the error message can be silenced somehow.
Hey thanks for looking into this issue. It would be great if this error message could be silenced somehow or as you mentioned, if using dev builds solves this issue, then I think it would be a good idea to do so given that it doesn't break anything. Let me know what you think about it. Cheers!
I'm pretty sure I have seen this error on other React (maybe React/Redux) challenges as well. I'm not sure if it is just because the prod build is smaller/faster or what? I see no real harm in using the dev build and it would/should make the error go away. But someone from the dev team will have to look at this and approve it. is using the dev build of React an option here?
I'm not entirely sure, tbh. Maybe something can provide insight on.
So, the problem is that we currently bundle react-dom-test-utils into the script that runs the tests, so changing the meta doesn't help us. However, once is in, we will have full control over the scripts that we import and can choose which build we want for the react lessons. I propose we revisit this issue once that's in main and experiment with development builds then.
I am interested to work on this issue. can anyone explain me more clearly what to do next?
Can I work on this?

frameContext.window.console.error = function proxyWarn( ...args: string[] ) { <del> proxyLogger(args.map((arg: string) => utilsFormat(arg)).join(' ')); </del> <ins> if (args.every(arg => !actRE.test(arg))) { proxyLogger(args.map((arg: string) => utilsFormat(arg)).join(' ')); } </ins> return oldError(...(args as [])); }; }


Question:
I believe that Accessibility Quiz step 13 is the first time we introduce the CSS child combinator. (I've looked through the finished CSS for all previous courses and have not found it.) The instructions and hint for step 13 merely say to use it but they don't explain what it does or why it is needed. And really, since the only child in the is the , and there are no embedded s in the list items, then it is not obvious why it is needed in the first place. We also require the child combinator in later steps and I am not finding any explanation for it in those steps either. The current instructions for step 13: The hint if you don't use the child combinator: Add additional information to the instructions: Give the name of the selector (child combinator) Describe what it is used for Explain why it is being used in this step No response N/A I don't have any suggested text at the moment, I just wanted to get this issue recorded so I wouldn't forget about it. And to be honest, I'm not sure what the rationale is for requiring the child combinator here. Perhaps we are just using it merely for the sake of introducing a new feature in CSS?
It would make more sense to introduce the selector in an instance where it is actually needed and with its usage explained. Having said that I don't mind its use here. It should still be explained, because otherwise, what is really being taught? The why might be a little harder to explain in this example if it is only done as a coding style choice. Personally, I do think the child combinator is often preferable to the descendant combinator when applicable, especially when using type selectors. It is more explicit about the location of the targeted element which makes it less side-effect prone (i.e. later targeting elements you didn't mean to as more code is introduced or changed). It is less work for the matching engine. I believe it was used as a bit of a performance enhancement back in the day, but I doubt it really matters much today in most cases (it might if the DOM tree is big enough).
Adding an explanation of the selector would be good. Maybe something like:
Alternative explanation for CSS child combinator step 13: To select all children elements within the parent elements, we use the selector. In this step, use the selector to target the unordered list elements within the elements, and use Flexbox to evenly space the children.
I feel like that's a bit too reductive.
I'm happy with Naomi's suggestion. This seems like a good first timer issue if we are done discussing.
Thanks for opening this issue. This looks like something that can be fixed by "first-time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: List of files: A pull request which resolves this issue should Please make sure you read our , we prioritize contributors following the instructions in our guides. Join us in our or our if you need help contributing; our moderators will guide you through this. Sometimes we may get more than one pull request. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.

# --description-- <ins> The child combinator selector `>` is used between selectors to target only elements that match the second selector and are a direct child of the first selector. This can be helpful when you have deeply nested elements and want to control the scope of your styling. </ins> Use the `>` selector to target the unordered list elements within the `nav` elements, and use _Flexbox_ to evenly space the children. # --hints--


Question:
We are currently grouping the articles in the Trending Guides section using a : But I think we should use and to group the items instead. This helps communicate the relationship of the links better, and allows us to remove the attribute from the code (ref: ). Pseudo code: Links in the Trending Guides section are rendered as a and are grouped within a . The change should be made to the following files: Learn platform: News platform: Forum platform: There is no visual regression All attributes in are removed (there are 2 of them in the file) Both Footer snapshot and e2e tests are updated accordingly Bonus point if you can merge tests in this suite into a single test case: This change is to improve cost efficiency as e2e tests are expensive to run.
This issue is not yet open for contribution. I'll wait for others to review the proposal first before marking the issue up for grab.
Can i contribute on this
Sounds like a plan. This is also a problem on and
Oh, thanks I forgot about /news and /forum. I found the repo for /news but I'm not sure where the code for /forum is. Could you help link it to the PR description? (I've already the /news link there.)
Here is the relevant code for the forum:
Alright, thank you Shaun! I'm going to open this one for contribution. we will be happy to review your PR if you are interested in contributing
Can I contribute to the above issue?
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
This isnt open for contribution
Sorry, I'll need your (and the staff team's) help with this. The PR targeting /learn has been merged, but the changes include some CSS modifications and require local testing. I'm happy to apply the changes to the and repos myself, but I'm not really sure how to setup and test them properly I think it's probably faster to let a staff member handle these changes.
I know how to test and deploy forum changes, but I do not know how to test the changes in . Maybe can test please?

<ins> [![Stories in Ready](https://badge.waffle.io/FreeCodeCamp/freecodecamp.png?label=ready&title=Ready)](https://waffle.io/FreeCodeCamp/freecodecamp) </ins> <img src="https://s3.amazonaws.com/freecodecamp/logo4.0LG.png"> Free Code Camp!


Question:
Linting fails on local environment in some cases. Issue did not reproduce on GitPod. update-email to the root directory Execution fails with the message under Linting should be successful No response Device: Macbook Air M2 OS: MacOSThis issue was originally raised in Discord: Thread created with the full error log: A contributor also ran into this issue in the past: Note that the lint operation in this one ran against the entire project () rather than a single file.
Thanks for opening this issue. I'm not able to reproduce the issue locally, so I'll need your help with this: Add: after this line: Commit this change using the flag Make a change to and check if you can commit the change without the flag This is to check if those rules are the culprit as I did run into some performance issues with them in the past. Here is our eslint current performance, in case anyone is interested: <img width="521" alt="Screenshot 2023-12-18 at 13 58 26" src=""
Thanks for your help I am still facing the issue. I the two lines after line 89, committed with --no-verify. I a space to and tried to commit without the flag. Attached the stack trace.
It seems like the memory allocation on your machine is capped at 2 GB. I tried reducing the limit to 512 MB using the following command, but could not reproduce the issue still: I'm wondering if it works if you increase the value on your end to . So please try this: In the root, add the following line to the "scripts" block: Then run in the terminal
Fixed it! I tried running but that did not seem to update the memory allocation when I ran Instead, I ran something similar to your command in the terminal - This fixed it. Thanks a lot! Should we add this in the documentation?

<del> npx lint-staged </del> <ins> NODE_OPTIONS="--max-old-space-size=7168" npx lint-staged </ins>


Question:
Linting fails on local environment in some cases. Issue did not reproduce on GitPod. update-email to the root directory Execution fails with the message under Linting should be successful No response Device: Macbook Air M2 OS: MacOSThis issue was originally raised in Discord: Thread created with the full error log: A contributor also ran into this issue in the past: Note that the lint operation in this one ran against the entire project () rather than a single file.
Thanks for opening this issue. I'm not able to reproduce the issue locally, so I'll need your help with this: Add: after this line: Commit this change using the flag Make a change to and check if you can commit the change without the flag This is to check if those rules are the culprit as I did run into some performance issues with them in the past. Here is our eslint current performance, in case anyone is interested: <img width="521" alt="Screenshot 2023-12-18 at 13 58 26" src=""
Thanks for your help I am still facing the issue. I the two lines after line 89, committed with --no-verify. I a space to and tried to commit without the flag. Attached the stack trace.
It seems like the memory allocation on your machine is capped at 2 GB. I tried reducing the limit to 512 MB using the following command, but could not reproduce the issue still: I'm wondering if it works if you increase the value on your end to . So please try this: In the root, add the following line to the "scripts" block: Then run in the terminal
Fixed it! I tried running but that did not seem to update the memory allocation when I ran Instead, I ran something similar to your command in the terminal - This fixed it. Thanks a lot! Should we add this in the documentation?

"knip": "npx -y knip@1 --include files", "knip:all": "npx -y knip@1", "prelint": "pnpm run -F=client predevelop", <del> "lint": "npm-run-all create:shared -p lint:*", </del> <ins> "lint": "NODE_OPTIONS="--max-old-space-size=7168" npm-run-all create:shared -p lint:*", </ins> "lint:challenges": "cd ./curriculum && pnpm run lint", "lint:js": "eslint --cache --max-warnings 0 .", "lint:ts": "tsc && tsc -p shared && tsc -p api",


Question:
I think we can make the instructions more clear. They are a bit confusing. Or something like that. Clear instructions. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] Forum:
I think that is much clearer. We can open this up for contribution
Hi, is someone working on this issue? If not, I'd like to contribute.
We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labelled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.

# --description-- <del> Add one final property to the object named `text`. Give this property the final `text.innerText` value from the `goTown` function. </del> <ins> Add one final property to the object named `text`. Give this property the same string value as the one assigned to `text.innerText` in the `goTown` function. </ins> # --hints--


Question:
In Step 59 of the Music Player project, the following code is valid as JavaScript code, but our test doesn't accept it. Notice that and are wrapped with different quotes. or The test is here: Reported in these forum posts: If we want to allow the mixing of single and double quotes, we should fix the test. If not, we should add a hint to guide users to use either single or double quotes. ! Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
Yeah, I agree that campers should be able to pass with either types of quotes because technically they did get the question right. I have opened this up for contribution

Your `setAttribute` method should have ``song?.title ? `Play ${song.title}` : "Play"`` as the second argument. ```js <del> assert.match(code, /playButton.setAttribute(s*('|")aria-label1,s*song?.titles*?s*`Plays*${song.title}`s*:s*1Play1s*);?s*/) </del> <ins> assert.match(code, /playButton.setAttribute(s*('|")aria-label1,s*song?.titles*?s*`Plays*${song.title}`s*:s*('|")Play2s*);?s*/) </ins> ``` # --seed--


Question:
In "Playwright-Gitpod Setup" section of "How to add Playwright" tests page, it's missing the step: cd to e2e directory, readers can be confusing and run the command in the root directory, this will cause error to "How to add Playwright tests" page, "Playwright-Gitpod Setup" section: step 3, you can see the missing step: cd to e2e directory (this step is in section) Update the doc to add the missing step !
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the To close this, add within the same codeblock as the text. The file to change is located within the directory. Only the English file should be changed.
updated the documentation part of playwright tests
If you've made a fix, you can Let us know if you need any help.
I'm new to contributing and I really don't know a thing about how to do it or its working Please help me in my learning
You can read this guide:

To run all Playwright tests, run the following command: ```bash <ins> cd e2e </ins> npx playwright test ```


Question:
Instructions text says "findIndex is an array method that lets find the index of the first element in an array that satisfies a given testing function." Following the style of previous similar statements in the course, "lets find" should probably say "lets you find". "lets you find" instead of "lets find" No response Device: laptop OS: Windows 11 Browser: Chrome Version: 120 No response
Hey ! That's a good catch. But after reading through the directions there are a few things that could be cleaned up to simplify it a bit and there are a few things missing like the markers to indicate a new term is being introduced. Let's go with this revised description js const numbers = [3, 1, 5, 6]; const firstNumLargerThanThree = numbers.findIndex((num) =num 3); (firstNumLargerThanThree); // prints index 2 ` I'll go ahead and open this up for contribution.

# --description-- <del> You need to determine whether the task being added already exists or not. If it doesn't exist, you will add it, and if it already exists, you will set it up for editing. You can use the `findIndex()` method to accomplish this. </del> <ins> You will need to determine whether the task being added to the `taskData` array already exists or not. If the task does not exist, you will add it to the array. If it does exist, you will update it. To accomplish this, you can use the <dfn>findIndex()</dfn> method. </ins> <del> `findIndex` is an array method that lets find the index of the first element in an array that satisfies a given testing function. </del> <ins> The `findIndex()` array method finds and returns the index of the first element in an array that meets the criteria specified by a provided testing function. If no such element is found, the method returns `-1`. </ins> Here's an example: ```js <del> const numbers = [3, 1, 5, 6, 10, 9, 8]; const firstEvenNumIndex = numbers.findIndex((num) => num % 2 === 0); </del> <ins> const numbers = [3, 1, 5, 6]; const firstNumLargerThanThree = numbers.findIndex((num) => num > 3); </ins> <del> console.log(firstEvenNumIndex); // Output: 3 – because the first even number (6) is at index 3 </del> <ins> console.log(firstNumLargerThanThree); // prints index 2 </ins> ``` <del> Declare a `dataArrIndex` variable using `const` and set it to the result of the `findIndex()` method applied to the `taskData` array. Utilize arrow syntax to provide a callback function with `item` as the parameter, and within the callback, check if the `id` property of `item` is equal to the `id` property of `currentTask`. </del> <ins> Use `const` to declare a variable called `dataArrIndex` and assign it the value of `taskData.findIndex()`. For the `findIndex()` method, pass in an arrow function with `item` as the parameter. </ins> <del> If the task exists, this returns the index, and if it doesn't exist, it returns `-1`. </del> <ins> Within the arrow function, check if the `id` property of `item` is strictly equal to the `id` property of `currentTask`. </ins> # --hints--


Question: The answer is wrong for this page. N/A I expected the correct answer to be 'They focus on presenting information rather than programming logic.' But the correct answer appears to be 'They lack the ability to create webpages.'. <img width="845" alt="image" src=""I think the system is irrelevant, so I am skipping this. No response

## --video-solution-- <del> 1 </del> <ins> 2 </ins>


Question:
This step comes up a lot on the forum and I think it is because we have never really explained what method chaining is or showed an example. Let's update the description to include an example so they know what to do. We should also explain why the join method is needed here so they better understand what is going on. js const exampleArr = ["This", "is", "a", "sentence"]; const sentence = (" "); // Separator takes a space character (sentence); // Output: "This is a sentence" js ().join(); ` see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding

# --description-- <del> Use the `join()` method to combine the `songsHTML` markup into a single string. </del> <ins> Right now the `songsHTML` is an array. If you tried to display this as is, you would see the songs separated by commas. This is not the desired outcome because you want to display the songs as a list. To fix this, you will need to join the array into a single string by using the <dfn>join()</dfn> method. </ins> <del> The `join()` method is used to concatenate all the elements of an array into a single string. It takes an optional parameter called `separator` which is used to separate each element of the array. For example: </del> <ins> The `join()` method is used to concatenate all the elements of an array into a single string. It takes an optional parameter called a `separator` which is used to separate each element of the array. For example: </ins> ```js const exampleArr = ["This", "is", "a", "sentence"];


Question:
This step comes up a lot on the forum and I think it is because we have never really explained what method chaining is or showed an example. Let's update the description to include an example so they know what to do. We should also explain why the join method is needed here so they better understand what is going on. js const exampleArr = ["This", "is", "a", "sentence"]; const sentence = (" "); // Separator takes a space character (sentence); // Output: "This is a sentence" js ().join(); ` see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding

Chain the `join()` method to your `map()` method and pass in an empty string for the separator. <ins> To chain multiple methods together, you can call the `join()` method on the result of the `map()` method. For example: ```js array.map().join(); ``` </ins> # --hints-- You should add `join("")` to the existing code.


Question:
None of the GET request examples/Tests mention to be able to GET with id param, However during one of the PUT request tests there is a GET request sent with an ID, i struggled to find this Bug in my code, i feel adding one extra Functional test for GET request specifically requiring to be able to GET by IDs, If using mongoDB like i was the ID needs the toString Method in order to be read as a string. i attached a screen shot shows the PUT test with the GET request at the bottom Either extra functional test requiring to be able to GET with an ID, or Updated with GET example that shows GET with an ID ! Device: [Desktop] OS: [Windows 11 WSL Ubuntu 22.04.3 LTS] Browser: [Chrome] Version: [122.0.6261.70 ] No response_
This requirement would be covered by: I'd be fine adding another check inside that existing test to look at the param.
i see now the "any field" and value, this was a lack of knowledge at the time, being able to get data by an "id" is imperative. Id like to propose a solution to the test above, change query of to GET the post created by carol and assigned to eric, this keeps the get Multiple aspect but returns 1 doc the of to GET and assert that of is equal to of
I'm hesitant to rewrite the entire tests, when instead we could update the test I indicated to try a query by ID (which we know won't break existing projects because a later test relies on that functionality).
Agreed my proposed solution would be for the existing GET test that you indicated, you could just drop in and after existing , this adds a query by ID. The current tests only query by and !
Ah, I see. Yes, that would be a good approach. I'll go ahead and open this one up.

const getMultiple = await $.get(url + '?created_by=Alice&assigned_to=Bob'); assert.isArray(getMultiple); assert.lengthOf(getMultiple, 2); <ins> const copyId = getMultiple[0]._id; const getById = await $.get(url + `?_id=${copyId}`); assert.isArray(getById); assert.lengthOf(getById, 1); assert.equal(getById[0]._id, copyId, 'should be able to query a document by _id') </ins> } catch (err) { throw new Error(err.responseText || err.message); }


Question: On Settings page, the empty space between the "Certifications" and "Legacy Certifications" seems to be missing. <img width="840" alt="Screenshot 2024-03-12 at 12 04 47" src=""We could add a to space them out a little. The Spacer should go in between line 421 and 422.

{currentCertTitles.map(title => ( <Certification key={title} certName={title} t={t} /> ))} <ins> <Spacer size='medium' /> </ins> <SectionHeader>{t('settings.headings.legacy-certs')}</SectionHeader> <LegacyFullStack {...props} /> {legacyCertTitles.map(title => (


Question:
The instructions say, in part: A literal (heh) reading of these instructions resulted in a learner producing this code: I read the instructions and could not figure out what the template string was supposed to do. I had to check the next step. I'm still confused, because a join produces a string output, so it seems completely superfluous. See above. I don't know exactly how to reword this, but the "all of those" is probably too ambiguous. No response N/A No response
Yeah, I agree. it is not clear what it is pointing to. It could be reworded as, Or something along those lines. The next steps is adding a hyphen followed by So the final result will be this
May I proceed to create a pull request to address this issue? I require a merged pull request contribution for my university assignment in open source.
This wording looks good to me. If you want to create a PR you're welcome to do so.
I am currently addressing this issue and have submitted a pull request.I would greatly appreciate it if you could review my pull request at your earliest convenience. If the changes meet the project's standards and requirements, I kindly ask for your assistance in merging them.This contribution is essential for my university assignment.

Create a `taskObj` object with an `id` property as the first property. For the value of the `id` property, retrieve the value of the `titleInput` field, convert it to lowercase, and then use the `split()` and `join()` methods to hyphenate it. <del> Make sure all of those are in template literals because you need the `id` property value as a string. </del> <ins> Make sure that the value of the `id` property is enclosed within template literals, as you will be appending more to the string later on. </ins> # --hints--


Question: The instructions state: And will only check as the right answer if you place these 3 values in that specific order. This answer should be correct regardless of the order of the values. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response

```js const player = new Player(); <del> assert.match(player.update.toString(), /ifs*(s*this.position.ys*+s*this.heights*+s*this.velocity.ys*<=s*canvas.heights*)s*{s*}/); </del> <ins> assert.match(player.update.toString(), /ifs*(s*(?:this.position.ys*+s*this.heights*+s*this.velocity.y|this.position.ys*+s*this.velocity.ys*+s*this.height|this.heights*+s*this.position.ys*+s*this.velocity.y|this.heights*+s*this.velocity.ys*+s*this.position.y|this.velocity.ys*+s*this.position.ys*+s*this.height|this.velocity.ys*+s*this.heights*+s*this.position.y)s*<=s*canvas.heights*)s*{s*}/); </ins> ``` # --seed--


Question:
it is confusing whether campers will pass string of 'Players' or variable named . i think the wording should be cleared on the hint. ! Your parameter should have a default value pointing towards the variable named . something like this should be on the hint ? ! OS: [Windows 11] Browser: [Chrome] No response
I think it would be best to update the description to remind campers where came from some thing like

console.log(greeting()); // Hello Anonymous ``` <del> Add a new parameter to your `setPlayerCards` function called `arr` and assign it a default value of `players`. </del> <ins> Add a new parameter to your `setPlayerCards` function called `arr` and assign it a default value of `players`. Remember that you destructured the `players` variable from the `myFavoriteFootballTeam` object on line `175`. </ins> # --hints--


Question:
To make it clearer what the syntax should be for accessing the last element of an array, let's go with this updated description js array[ - 1] ` see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding

Before moving on, this is a great opportunity to learn a common array use. Currently, your code accesses the last element in the array with `rows[2]`. But you may not know how many elements are in an array when you want the last one. <del> You can make use of the `.length` property of an array - this returns the number of elements in the array. For example, your `rows` array has 3 elements, so `rows.length` would be `3`. </del> <ins> You can make use of the `.length` property of an array - this returns the number of elements in the array. To get the last element of any array, you can use the following syntax: </ins> <del> Since you know the last element is at index `2`, you can compare that with the length of the array and see it is one less. The last element of an array will always be accessible at the index `length - 1`. You can use that in your bracket notation. </del> <ins> ```js array[array.length - 1] ``` `array.length` returns the number of elements in the array. By subtracting `1`, you get the index of the last element in the array. You can apply this same concept to your `rows` array. Update your `rows[2]` to dynamically access the last element in the `rows` array. Refer to the example above to help you. </ins> <del> Update your `rows[2]` to access the `rows.length - 1` index instead of the `2` index. You should not see anything change in your console. </del> <ins> You should not see anything change in your console. </ins> # --hints--


Question:
We are getting a lot of confusion on the forum about step 18. The confusion stems from not know how to log the array to the console. So we should update the code example in the description to log the example array. That should help with what is expected to do. js let array = [1, 2, 3]; array[1] = 25; (array); // prints [1, 25, 3] ` see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding

```js let array = [1, 2, 3]; array[1] = 25; <ins> console.log(array); // prints [1, 25, 3] </ins> ``` Update the **third** element of your `rows` array to be the number `10`. Then print the `rows` array to your console.


Question: The code provided below does not pass, even though it should. The test does not allow for an optional whitespace between the backticks/single or double quotation marks and the element - in this case a paragraph element. The hint message does not suggest that campers keep the code in one line. In fact, throughout all the curricula, I've been under the impression that creating several lines for setting improves readability, and is, therefore, good practice. So, I don't see any reasons why the tests shouldn't allow this formatting. Since I was not sure whether my code generates an essential difference on the UI/Webpage, I tested it. There was no difference. So, I thought this might be a bug in testing. I filed a PR on this issue. I am quite new to contributing and still learning. Please let me know if there is anything I've done that did not follow good practice. The test does not allow for an optional whitespace between the backticks and the element. It should. ! Device: Laptop OS: Windows 11 Browser: FireFox Version: 125.0.2 (64-bit) No response

```js <del> assert.match(code, /authorContainer.innerHTMLs*=s*(`|"|')<p.*>.*</p>1/) </del> <ins> assert.match(code, /authorContainer.innerHTMLs*=s*(`|"|')s*<p.*>.*</p>s*1/) </ins> ``` Your `p` element should have the class `error-msg`. ```js <del> assert.match(code, /(`|"|')<ps+classs*=s*("|')error-msg2>/) </del> <ins> assert.match(code, /(`|"|')s*<ps+classs*=s*("|')error-msg2>/) </ins> ``` Your `p` element should have the text `There was an error loading the authors`. ```js <del> assert.match(code, /(`|"|')<ps+classs*=s*("|')error-msg2>Theres+wass+ans+errors+loadings+thes+authors</p>1s*;?/) </del> <ins> assert.match(code, /(`|"|')<ps+classs*=s*("|')error-msg2>Theres+wass+ans+errors+loadings+thes+authors</p>s*1s*;?/) </ins> ```


Question:
Opening for visibility. I have not seen this happen myself, but I also haven't spent much time in the editor. Link to threads reporting this. Unknown, I guess usage over time. Performance not degrading over time. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
I've experienced this issue multiple times. After the donation pop-up appears, the performance of the website becomes laggy. Even after refreshing the page, it returns to normal temporarily, but the lag returns once the donation pop-up reappears. ! Note: the lag doesn't occur immediately after the pop-up, it becomes noticeable as you continue solving challenges, with delays in typing and overall slowness.
I have not noticed this in the dev environment, even if the pop-up is present there too (python course)
I thought I was crazy or that my machine was "too old" for this, but I have experienced this too. In my experience, it has happened after working a while on the editor or just doing a little bit of work on the editor, leaving it open, and then coming back. It becomes really slow and the only workaround that I have found is closing my browser completely and opening it again. Note: As a current donor, the pop-up doesn't show up in my account and I don't think is related to that component itself.
Commenting to add I experience this every single time I use the editor for more than maybe 20 minutes. It doesn't just happen suddenly. It starts with a slight delay then gets worse and worse. I just opened up Incognito with no extensions enabled, and I noticed the delay after around 15 minutes. Then by 25 minutes it was definitely worse. It isn't unusable, but if you type relatively quickly it is very noticeable that words on screen are being completed maybe 100ms after you actually type them, then gets a little worse from there. Info: Chrome/124.0.6367.158 (no extensions) macOS Ventura Responsive Web Design Certification (I have had delays throughout this entire course)
I'm able to get the slowdown both in production and in development. Reproducing it a bit loosely: Go through multiple steps (around 20?). At some point writing few characters in a row will start feel delayed/lagged. In console start appearing warnings, something like [Violation] 'input' handler took 1123ms. Recorded performance showed then longer times of redux updates coming from (if I didn't mix up anything) the editor's :
Thanks, that's really helpful! Just so I'm on the same page: how did you record the performance and did you have campfire mode on while you were testing this? Also, did you complete and submit 20 steps or just navigate through them?
Hey It was the Performance tab in the browser's developer tools. Not the profiler from react developer tools. Once I noticed the lagging, I turned on recording and did couple more steps. Then stopped recording, and tried to make heads or tails out of it :eyes: It doesn't seem to be related to campfire mode. I actually have campfire mode on in production, but when I was checking in development I believe it was off. Steps were completed/submitted. I haven't tried just navigating them.
It's not easy to read, but it does seem to be that's taking the time, which makes sense. That's what I see even when the editor is working normally. I've yet to see the slowdown from having the editor open for a long time typing a lot in a single page navigating through 80+ challenges I'll try completing a lot of challenges next and see if I see what you saw, Regardless, it seems like either the amount of typing you need to do to complete a bunch of challenges OR the completion/submission process is the problem. That's my current guess.
I'm seeing the same code editor latency after about 5 to 10 minutes of usage. I see it both in Chrome and Firefox browsers when testing in Windows 11 and Linux Fedora 40. The best solution I have is to do a of the page when it starts happening. Is the code editor overloading the cache to cause a slow down?
I'm on Windows Chrome browser and the editor is super slow for me. I type and I can't see what I've typed in till seconds later (good thing I'm a good typist) and I click Submit and it takes a long pause to respond. I tried clearing cache but it fixes the issue for maybe a couple of steps max then back to the slow performance. Definitely something I didn't experience back in early 2023 when I last used the curriculum. If there's some data I can collect to help debug, let me know. (Edit: i switched to MS Edge which I didn't use for fcc work before and the issue disappeared for the first 10 steps i tried). I may continue here for a bit before retrying chrome again at some point.) 2nd Edit: the performance improvement didn't last. Same issue occurred after a few more steps and I persisted for a couple more of these slow steps just to see if anything would change, but nothing did. So I logged off and switched back to Chrome. First few steps are back to normal performance at this point. Perhaps the pattern will repeat (and things will slow down momentarily at which point I will try another browser switch).
Hi all, thank you for reporting the issue. We are trying to reproduce the issue, but no luck yet. From what I gather, the issue can happen: On any OS (so far we have reports on MacOS, Windows, and Linux) On any browser (so far we have reports on Chrome, Firefox, and MS Edge) In both incognito and normal browsing modes With or without browser extensions To both donor and non-donor users With both campfire mode enabled and disabled I guess what's left is the challenge pages that you are on when you experience the issue. I personally have tried going through 50+ Python challenges of the , and I haven't experienced the lag. We have one user experienced the issue with the Responsive Web Design challenges (), so maybe this is where I'd try next. But we would love to get more information from everyone else: which page / course you were on when you experienced the issue. Thanks again for reporting.
The lag happens consistently to me on the Role Playing Game project (js beta) pages. Everytime I recycle my browser the issue goes away temporarily. (Or if I close the tab on edge and reopen it)
As I have , I experienced this throughout the responsive web design cert, but I have since finished that course and moved onto the JavaScript one, and can confirm I am having the exact same issue on there. The easiest way I've found to get rid of the delay is to reload page while ignoring cache.
It might be needed for user to be logged in. I've tried to reproduce it on Firefox. I've went from last steps of to about 30 step of the - without being logged in, no issues. Then after logging in, I started at the first step of , passing code was still in browser, so was just submitting it for the most part. By the 20th step writing was again slowing down. Edit: although Firefox doesn't display warning in console.
I also see it when logged in. It literally became so bad that is spiked the CPU if I held down a key and just let it repeat. It might somehow be related to the completion modal in the lower jaw, but I'm really not certain. That is at least also different depending on if you are signed in or not. The problem is, it didn't seem as bad in dev mode for me, so I'm not confident. But I removed the progress component and did twice as many steps, and it didn't happen. But as said, I'm really not sure if I trust it in dev mode. In the Performance log, looking at the bottom-up tab, was the first one.
Thanks everyone. I've finally reproduced it by doing ~20 responsive web design lessons while signed in. It does seem like is part of the problem, thanks I'm not sure it's the root of the problem, but it's definitely getting called far too often. My plan is to create a quick PR to stop the unnecessary calls and/or memoize the function. Hopefully that fixes it, but we'll have to see.
I was briefly looking at the Progress component and saw ProgressInner  Something about that code doesn't sit right with me. The and variable names seems a little like something that wasn't fully checked and tested. If I just log when the component renders, it does so on every keystroke, and even just left-clicking inside the active editor section logs a re-render. This is after you have completed at least one challenge step. ! Might not be related, but it doesn't seem right considering it isn't even shown. I'm a little skeptical of the Intersection observer and useEffect. I know this isn't very constructive, but that's all I've got for now.
I agree about the naming, it's a little sloppy. And, yes, something is going wrong meaning that it's getting re-rendered after challenge completion. makes it a lot better, though. It's still rendering when you start a new challenge (and it shouldn't), but it no longer renders in response to, well, everything.
I have unpinned the issue, considering it is closed as completed.
Hi Guys i am still experiencing this on two separate machines both running windows 11 and Chrome Browser extension installed , ublock origin and Ghostery this is whilst going through the responsive web design curriculum, in both building a balance sheet and the cat painting projects. I have experienced this behaviour both before and after i became a supported, and most recently experienced it about 5mins ago
Thank you for mentioning. However, the potential fix for this has not been deployed to production yet. So, until that is deployed, you can expect the issue to be present.
Hi everyone, the potential fix has been deployed, please report back if you're still experiencing the issue. Thank you for your patience, and happy coding.
hi , I've been using the JS beta curriculum all day from a single tab today. I did end up running into the performance issue again but it took a -lot- longer to run into it, and it was not lagging as bad as it used to when I would type (one of the issues I saw was that I would type and it would take a bit of time for the editor to display what I typed). Now when it slows down, the lag is not nearly as long (and as I said, I ran through a lot of steps today before seeing the slow-down). This is just to let you know what I have observed as you've asked us to report back. Thanks for the fix(es) already done.
Thanks for the follow-up, Some slowdown is expected, since the 'fix' was to make rendering considerably more efficient. This delays and mitigates the slowdown, but clearly something is getting less efficient over time. Since it's not too bad at the moment and it's hard to pin down the ultimate cause, I think we can leave this for now. We do plan to give the client some love before too long and that will give us another chance to squash the bug.
Hi Guys I am still running in to this issue, im currently working my way through learn-basic-javascript-by-building-a-role-playing-game. and after about 10 mins the typing of text starts to lag, im having to refresh the page and it seems to make it go away for a while
Other reports of slow performance
Thanks I'll give this another look.
should be another decent perf boost. Same deal as last time: while I expect this to be a lot better, there may still be deeper problems.
Tentatively closing again, since has been merged and should help considerably.

const state$ = { value: { challenge: { challengeMeta: { challengeType: 0 } }, <del> app: { user: { username: 'test' } } </del> <ins> app: { user: { username: 'test' }, allChallengesInfo: { challengeEdges: [], certificateNodes: [] } } </ins> } };


Question:
Opening for visibility. I have not seen this happen myself, but I also haven't spent much time in the editor. Link to threads reporting this. Unknown, I guess usage over time. Performance not degrading over time. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
I've experienced this issue multiple times. After the donation pop-up appears, the performance of the website becomes laggy. Even after refreshing the page, it returns to normal temporarily, but the lag returns once the donation pop-up reappears. ! Note: the lag doesn't occur immediately after the pop-up, it becomes noticeable as you continue solving challenges, with delays in typing and overall slowness.
I have not noticed this in the dev environment, even if the pop-up is present there too (python course)
I thought I was crazy or that my machine was "too old" for this, but I have experienced this too. In my experience, it has happened after working a while on the editor or just doing a little bit of work on the editor, leaving it open, and then coming back. It becomes really slow and the only workaround that I have found is closing my browser completely and opening it again. Note: As a current donor, the pop-up doesn't show up in my account and I don't think is related to that component itself.
Commenting to add I experience this every single time I use the editor for more than maybe 20 minutes. It doesn't just happen suddenly. It starts with a slight delay then gets worse and worse. I just opened up Incognito with no extensions enabled, and I noticed the delay after around 15 minutes. Then by 25 minutes it was definitely worse. It isn't unusable, but if you type relatively quickly it is very noticeable that words on screen are being completed maybe 100ms after you actually type them, then gets a little worse from there. Info: Chrome/124.0.6367.158 (no extensions) macOS Ventura Responsive Web Design Certification (I have had delays throughout this entire course)
I'm able to get the slowdown both in production and in development. Reproducing it a bit loosely: Go through multiple steps (around 20?). At some point writing few characters in a row will start feel delayed/lagged. In console start appearing warnings, something like [Violation] 'input' handler took 1123ms. Recorded performance showed then longer times of redux updates coming from (if I didn't mix up anything) the editor's :
Thanks, that's really helpful! Just so I'm on the same page: how did you record the performance and did you have campfire mode on while you were testing this? Also, did you complete and submit 20 steps or just navigate through them?
Hey It was the Performance tab in the browser's developer tools. Not the profiler from react developer tools. Once I noticed the lagging, I turned on recording and did couple more steps. Then stopped recording, and tried to make heads or tails out of it :eyes: It doesn't seem to be related to campfire mode. I actually have campfire mode on in production, but when I was checking in development I believe it was off. Steps were completed/submitted. I haven't tried just navigating them.
It's not easy to read, but it does seem to be that's taking the time, which makes sense. That's what I see even when the editor is working normally. I've yet to see the slowdown from having the editor open for a long time typing a lot in a single page navigating through 80+ challenges I'll try completing a lot of challenges next and see if I see what you saw, Regardless, it seems like either the amount of typing you need to do to complete a bunch of challenges OR the completion/submission process is the problem. That's my current guess.
I'm seeing the same code editor latency after about 5 to 10 minutes of usage. I see it both in Chrome and Firefox browsers when testing in Windows 11 and Linux Fedora 40. The best solution I have is to do a of the page when it starts happening. Is the code editor overloading the cache to cause a slow down?
I'm on Windows Chrome browser and the editor is super slow for me. I type and I can't see what I've typed in till seconds later (good thing I'm a good typist) and I click Submit and it takes a long pause to respond. I tried clearing cache but it fixes the issue for maybe a couple of steps max then back to the slow performance. Definitely something I didn't experience back in early 2023 when I last used the curriculum. If there's some data I can collect to help debug, let me know. (Edit: i switched to MS Edge which I didn't use for fcc work before and the issue disappeared for the first 10 steps i tried). I may continue here for a bit before retrying chrome again at some point.) 2nd Edit: the performance improvement didn't last. Same issue occurred after a few more steps and I persisted for a couple more of these slow steps just to see if anything would change, but nothing did. So I logged off and switched back to Chrome. First few steps are back to normal performance at this point. Perhaps the pattern will repeat (and things will slow down momentarily at which point I will try another browser switch).
Hi all, thank you for reporting the issue. We are trying to reproduce the issue, but no luck yet. From what I gather, the issue can happen: On any OS (so far we have reports on MacOS, Windows, and Linux) On any browser (so far we have reports on Chrome, Firefox, and MS Edge) In both incognito and normal browsing modes With or without browser extensions To both donor and non-donor users With both campfire mode enabled and disabled I guess what's left is the challenge pages that you are on when you experience the issue. I personally have tried going through 50+ Python challenges of the , and I haven't experienced the lag. We have one user experienced the issue with the Responsive Web Design challenges (), so maybe this is where I'd try next. But we would love to get more information from everyone else: which page / course you were on when you experienced the issue. Thanks again for reporting.
The lag happens consistently to me on the Role Playing Game project (js beta) pages. Everytime I recycle my browser the issue goes away temporarily. (Or if I close the tab on edge and reopen it)
As I have , I experienced this throughout the responsive web design cert, but I have since finished that course and moved onto the JavaScript one, and can confirm I am having the exact same issue on there. The easiest way I've found to get rid of the delay is to reload page while ignoring cache.
It might be needed for user to be logged in. I've tried to reproduce it on Firefox. I've went from last steps of to about 30 step of the - without being logged in, no issues. Then after logging in, I started at the first step of , passing code was still in browser, so was just submitting it for the most part. By the 20th step writing was again slowing down. Edit: although Firefox doesn't display warning in console.
I also see it when logged in. It literally became so bad that is spiked the CPU if I held down a key and just let it repeat. It might somehow be related to the completion modal in the lower jaw, but I'm really not certain. That is at least also different depending on if you are signed in or not. The problem is, it didn't seem as bad in dev mode for me, so I'm not confident. But I removed the progress component and did twice as many steps, and it didn't happen. But as said, I'm really not sure if I trust it in dev mode. In the Performance log, looking at the bottom-up tab, was the first one.
Thanks everyone. I've finally reproduced it by doing ~20 responsive web design lessons while signed in. It does seem like is part of the problem, thanks I'm not sure it's the root of the problem, but it's definitely getting called far too often. My plan is to create a quick PR to stop the unnecessary calls and/or memoize the function. Hopefully that fixes it, but we'll have to see.
I was briefly looking at the Progress component and saw ProgressInner  Something about that code doesn't sit right with me. The and variable names seems a little like something that wasn't fully checked and tested. If I just log when the component renders, it does so on every keystroke, and even just left-clicking inside the active editor section logs a re-render. This is after you have completed at least one challenge step. ! Might not be related, but it doesn't seem right considering it isn't even shown. I'm a little skeptical of the Intersection observer and useEffect. I know this isn't very constructive, but that's all I've got for now.
I agree about the naming, it's a little sloppy. And, yes, something is going wrong meaning that it's getting re-rendered after challenge completion. makes it a lot better, though. It's still rendering when you start a new challenge (and it shouldn't), but it no longer renders in response to, well, everything.
I have unpinned the issue, considering it is closed as completed.
Hi Guys i am still experiencing this on two separate machines both running windows 11 and Chrome Browser extension installed , ublock origin and Ghostery this is whilst going through the responsive web design curriculum, in both building a balance sheet and the cat painting projects. I have experienced this behaviour both before and after i became a supported, and most recently experienced it about 5mins ago
Thank you for mentioning. However, the potential fix for this has not been deployed to production yet. So, until that is deployed, you can expect the issue to be present.
Hi everyone, the potential fix has been deployed, please report back if you're still experiencing the issue. Thank you for your patience, and happy coding.
hi , I've been using the JS beta curriculum all day from a single tab today. I did end up running into the performance issue again but it took a -lot- longer to run into it, and it was not lagging as bad as it used to when I would type (one of the issues I saw was that I would type and it would take a bit of time for the editor to display what I typed). Now when it slows down, the lag is not nearly as long (and as I said, I ran through a lot of steps today before seeing the slow-down). This is just to let you know what I have observed as you've asked us to report back. Thanks for the fix(es) already done.
Thanks for the follow-up, Some slowdown is expected, since the 'fix' was to make rendering considerably more efficient. This delays and mitigates the slowdown, but clearly something is getting less efficient over time. Since it's not too bad at the moment and it's hard to pin down the ultimate cause, I think we can leave this for now. We do plan to give the client some love before too long and that will give us another chance to squash the bug.
Hi Guys I am still running in to this issue, im currently working my way through learn-basic-javascript-by-building-a-role-playing-game. and after about 10 mins the typing of text starts to lag, im having to refresh the page and it seems to make it go away for a while
Other reports of slow performance
Thanks I'll give this another look.
should be another decent perf boost. Same deal as last time: while I expect this to be a lot better, there may still be deeper problems.
Tentatively closing again, since has been merged and should help considerably.

<ins> import { createSelector } from 'reselect'; </ins> import { challengeTypes } from '../../../../../shared/config/challenge-types'; import { completedChallengesSelector,


Question:
Opening for visibility. I have not seen this happen myself, but I also haven't spent much time in the editor. Link to threads reporting this. Unknown, I guess usage over time. Performance not degrading over time. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
I've experienced this issue multiple times. After the donation pop-up appears, the performance of the website becomes laggy. Even after refreshing the page, it returns to normal temporarily, but the lag returns once the donation pop-up reappears. ! Note: the lag doesn't occur immediately after the pop-up, it becomes noticeable as you continue solving challenges, with delays in typing and overall slowness.
I have not noticed this in the dev environment, even if the pop-up is present there too (python course)
I thought I was crazy or that my machine was "too old" for this, but I have experienced this too. In my experience, it has happened after working a while on the editor or just doing a little bit of work on the editor, leaving it open, and then coming back. It becomes really slow and the only workaround that I have found is closing my browser completely and opening it again. Note: As a current donor, the pop-up doesn't show up in my account and I don't think is related to that component itself.
Commenting to add I experience this every single time I use the editor for more than maybe 20 minutes. It doesn't just happen suddenly. It starts with a slight delay then gets worse and worse. I just opened up Incognito with no extensions enabled, and I noticed the delay after around 15 minutes. Then by 25 minutes it was definitely worse. It isn't unusable, but if you type relatively quickly it is very noticeable that words on screen are being completed maybe 100ms after you actually type them, then gets a little worse from there. Info: Chrome/124.0.6367.158 (no extensions) macOS Ventura Responsive Web Design Certification (I have had delays throughout this entire course)
I'm able to get the slowdown both in production and in development. Reproducing it a bit loosely: Go through multiple steps (around 20?). At some point writing few characters in a row will start feel delayed/lagged. In console start appearing warnings, something like [Violation] 'input' handler took 1123ms. Recorded performance showed then longer times of redux updates coming from (if I didn't mix up anything) the editor's :
Thanks, that's really helpful! Just so I'm on the same page: how did you record the performance and did you have campfire mode on while you were testing this? Also, did you complete and submit 20 steps or just navigate through them?
Hey It was the Performance tab in the browser's developer tools. Not the profiler from react developer tools. Once I noticed the lagging, I turned on recording and did couple more steps. Then stopped recording, and tried to make heads or tails out of it :eyes: It doesn't seem to be related to campfire mode. I actually have campfire mode on in production, but when I was checking in development I believe it was off. Steps were completed/submitted. I haven't tried just navigating them.
It's not easy to read, but it does seem to be that's taking the time, which makes sense. That's what I see even when the editor is working normally. I've yet to see the slowdown from having the editor open for a long time typing a lot in a single page navigating through 80+ challenges I'll try completing a lot of challenges next and see if I see what you saw, Regardless, it seems like either the amount of typing you need to do to complete a bunch of challenges OR the completion/submission process is the problem. That's my current guess.
I'm seeing the same code editor latency after about 5 to 10 minutes of usage. I see it both in Chrome and Firefox browsers when testing in Windows 11 and Linux Fedora 40. The best solution I have is to do a of the page when it starts happening. Is the code editor overloading the cache to cause a slow down?
I'm on Windows Chrome browser and the editor is super slow for me. I type and I can't see what I've typed in till seconds later (good thing I'm a good typist) and I click Submit and it takes a long pause to respond. I tried clearing cache but it fixes the issue for maybe a couple of steps max then back to the slow performance. Definitely something I didn't experience back in early 2023 when I last used the curriculum. If there's some data I can collect to help debug, let me know. (Edit: i switched to MS Edge which I didn't use for fcc work before and the issue disappeared for the first 10 steps i tried). I may continue here for a bit before retrying chrome again at some point.) 2nd Edit: the performance improvement didn't last. Same issue occurred after a few more steps and I persisted for a couple more of these slow steps just to see if anything would change, but nothing did. So I logged off and switched back to Chrome. First few steps are back to normal performance at this point. Perhaps the pattern will repeat (and things will slow down momentarily at which point I will try another browser switch).
Hi all, thank you for reporting the issue. We are trying to reproduce the issue, but no luck yet. From what I gather, the issue can happen: On any OS (so far we have reports on MacOS, Windows, and Linux) On any browser (so far we have reports on Chrome, Firefox, and MS Edge) In both incognito and normal browsing modes With or without browser extensions To both donor and non-donor users With both campfire mode enabled and disabled I guess what's left is the challenge pages that you are on when you experience the issue. I personally have tried going through 50+ Python challenges of the , and I haven't experienced the lag. We have one user experienced the issue with the Responsive Web Design challenges (), so maybe this is where I'd try next. But we would love to get more information from everyone else: which page / course you were on when you experienced the issue. Thanks again for reporting.
The lag happens consistently to me on the Role Playing Game project (js beta) pages. Everytime I recycle my browser the issue goes away temporarily. (Or if I close the tab on edge and reopen it)
As I have , I experienced this throughout the responsive web design cert, but I have since finished that course and moved onto the JavaScript one, and can confirm I am having the exact same issue on there. The easiest way I've found to get rid of the delay is to reload page while ignoring cache.
It might be needed for user to be logged in. I've tried to reproduce it on Firefox. I've went from last steps of to about 30 step of the - without being logged in, no issues. Then after logging in, I started at the first step of , passing code was still in browser, so was just submitting it for the most part. By the 20th step writing was again slowing down. Edit: although Firefox doesn't display warning in console.
I also see it when logged in. It literally became so bad that is spiked the CPU if I held down a key and just let it repeat. It might somehow be related to the completion modal in the lower jaw, but I'm really not certain. That is at least also different depending on if you are signed in or not. The problem is, it didn't seem as bad in dev mode for me, so I'm not confident. But I removed the progress component and did twice as many steps, and it didn't happen. But as said, I'm really not sure if I trust it in dev mode. In the Performance log, looking at the bottom-up tab, was the first one.
Thanks everyone. I've finally reproduced it by doing ~20 responsive web design lessons while signed in. It does seem like is part of the problem, thanks I'm not sure it's the root of the problem, but it's definitely getting called far too often. My plan is to create a quick PR to stop the unnecessary calls and/or memoize the function. Hopefully that fixes it, but we'll have to see.
I was briefly looking at the Progress component and saw ProgressInner  Something about that code doesn't sit right with me. The and variable names seems a little like something that wasn't fully checked and tested. If I just log when the component renders, it does so on every keystroke, and even just left-clicking inside the active editor section logs a re-render. This is after you have completed at least one challenge step. ! Might not be related, but it doesn't seem right considering it isn't even shown. I'm a little skeptical of the Intersection observer and useEffect. I know this isn't very constructive, but that's all I've got for now.
I agree about the naming, it's a little sloppy. And, yes, something is going wrong meaning that it's getting re-rendered after challenge completion. makes it a lot better, though. It's still rendering when you start a new challenge (and it shouldn't), but it no longer renders in response to, well, everything.
I have unpinned the issue, considering it is closed as completed.
Hi Guys i am still experiencing this on two separate machines both running windows 11 and Chrome Browser extension installed , ublock origin and Ghostery this is whilst going through the responsive web design curriculum, in both building a balance sheet and the cat painting projects. I have experienced this behaviour both before and after i became a supported, and most recently experienced it about 5mins ago
Thank you for mentioning. However, the potential fix for this has not been deployed to production yet. So, until that is deployed, you can expect the issue to be present.
Hi everyone, the potential fix has been deployed, please report back if you're still experiencing the issue. Thank you for your patience, and happy coding.
hi , I've been using the JS beta curriculum all day from a single tab today. I did end up running into the performance issue again but it took a -lot- longer to run into it, and it was not lagging as bad as it used to when I would type (one of the issues I saw was that I would type and it would take a bit of time for the editor to display what I typed). Now when it slows down, the lag is not nearly as long (and as I said, I ran through a lot of steps today before seeing the slow-down). This is just to let you know what I have observed as you've asked us to report back. Thanks for the fix(es) already done.
Thanks for the follow-up, Some slowdown is expected, since the 'fix' was to make rendering considerably more efficient. This delays and mitigates the slowdown, but clearly something is getting less efficient over time. Since it's not too bad at the moment and it's hard to pin down the ultimate cause, I think we can leave this for now. We do plan to give the client some love before too long and that will give us another chance to squash the bug.
Hi Guys I am still running in to this issue, im currently working my way through learn-basic-javascript-by-building-a-role-playing-game. and after about 10 mins the typing of text starts to lag, im having to refresh the page and it seems to make it go away for a while
Other reports of slow performance
Thanks I'll give this another look.
should be another decent perf boost. Same deal as last time: while I expect this to be a lot better, there may still be deeper problems.
Tentatively closing again, since has been merged and should help considerably.

return challengeData; }; <del> export const currentBlockIdsSelector = state => { const { block, certification, challengeType } = challengeMetaSelector(state); const allChallengesInfo = allChallengesInfoSelector(state); </del> <ins> export const currentBlockIdsSelector = createSelector( challengeMetaSelector, allChallengesInfoSelector, (challengeMeta, allChallengesInfo) => { const { block, certification, challengeType } = challengeMeta; </ins> <del> return getCurrentBlockIds( allChallengesInfo, block, certification, challengeType ); }; </del> <ins> return getCurrentBlockIds( allChallengesInfo, block, certification, challengeType ); } ); </ins> export const completedChallengesInBlockSelector = state => { const completedChallengesIds = completedChallengesIdsSelector(state);


Question:
Opening for visibility. I have not seen this happen myself, but I also haven't spent much time in the editor. Link to threads reporting this. Unknown, I guess usage over time. Performance not degrading over time. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
I've experienced this issue multiple times. After the donation pop-up appears, the performance of the website becomes laggy. Even after refreshing the page, it returns to normal temporarily, but the lag returns once the donation pop-up reappears. ! Note: the lag doesn't occur immediately after the pop-up, it becomes noticeable as you continue solving challenges, with delays in typing and overall slowness.
I have not noticed this in the dev environment, even if the pop-up is present there too (python course)
I thought I was crazy or that my machine was "too old" for this, but I have experienced this too. In my experience, it has happened after working a while on the editor or just doing a little bit of work on the editor, leaving it open, and then coming back. It becomes really slow and the only workaround that I have found is closing my browser completely and opening it again. Note: As a current donor, the pop-up doesn't show up in my account and I don't think is related to that component itself.
Commenting to add I experience this every single time I use the editor for more than maybe 20 minutes. It doesn't just happen suddenly. It starts with a slight delay then gets worse and worse. I just opened up Incognito with no extensions enabled, and I noticed the delay after around 15 minutes. Then by 25 minutes it was definitely worse. It isn't unusable, but if you type relatively quickly it is very noticeable that words on screen are being completed maybe 100ms after you actually type them, then gets a little worse from there. Info: Chrome/124.0.6367.158 (no extensions) macOS Ventura Responsive Web Design Certification (I have had delays throughout this entire course)
I'm able to get the slowdown both in production and in development. Reproducing it a bit loosely: Go through multiple steps (around 20?). At some point writing few characters in a row will start feel delayed/lagged. In console start appearing warnings, something like [Violation] 'input' handler took 1123ms. Recorded performance showed then longer times of redux updates coming from (if I didn't mix up anything) the editor's :
Thanks, that's really helpful! Just so I'm on the same page: how did you record the performance and did you have campfire mode on while you were testing this? Also, did you complete and submit 20 steps or just navigate through them?
Hey It was the Performance tab in the browser's developer tools. Not the profiler from react developer tools. Once I noticed the lagging, I turned on recording and did couple more steps. Then stopped recording, and tried to make heads or tails out of it :eyes: It doesn't seem to be related to campfire mode. I actually have campfire mode on in production, but when I was checking in development I believe it was off. Steps were completed/submitted. I haven't tried just navigating them.
It's not easy to read, but it does seem to be that's taking the time, which makes sense. That's what I see even when the editor is working normally. I've yet to see the slowdown from having the editor open for a long time typing a lot in a single page navigating through 80+ challenges I'll try completing a lot of challenges next and see if I see what you saw, Regardless, it seems like either the amount of typing you need to do to complete a bunch of challenges OR the completion/submission process is the problem. That's my current guess.
I'm seeing the same code editor latency after about 5 to 10 minutes of usage. I see it both in Chrome and Firefox browsers when testing in Windows 11 and Linux Fedora 40. The best solution I have is to do a of the page when it starts happening. Is the code editor overloading the cache to cause a slow down?
I'm on Windows Chrome browser and the editor is super slow for me. I type and I can't see what I've typed in till seconds later (good thing I'm a good typist) and I click Submit and it takes a long pause to respond. I tried clearing cache but it fixes the issue for maybe a couple of steps max then back to the slow performance. Definitely something I didn't experience back in early 2023 when I last used the curriculum. If there's some data I can collect to help debug, let me know. (Edit: i switched to MS Edge which I didn't use for fcc work before and the issue disappeared for the first 10 steps i tried). I may continue here for a bit before retrying chrome again at some point.) 2nd Edit: the performance improvement didn't last. Same issue occurred after a few more steps and I persisted for a couple more of these slow steps just to see if anything would change, but nothing did. So I logged off and switched back to Chrome. First few steps are back to normal performance at this point. Perhaps the pattern will repeat (and things will slow down momentarily at which point I will try another browser switch).
Hi all, thank you for reporting the issue. We are trying to reproduce the issue, but no luck yet. From what I gather, the issue can happen: On any OS (so far we have reports on MacOS, Windows, and Linux) On any browser (so far we have reports on Chrome, Firefox, and MS Edge) In both incognito and normal browsing modes With or without browser extensions To both donor and non-donor users With both campfire mode enabled and disabled I guess what's left is the challenge pages that you are on when you experience the issue. I personally have tried going through 50+ Python challenges of the , and I haven't experienced the lag. We have one user experienced the issue with the Responsive Web Design challenges (), so maybe this is where I'd try next. But we would love to get more information from everyone else: which page / course you were on when you experienced the issue. Thanks again for reporting.
The lag happens consistently to me on the Role Playing Game project (js beta) pages. Everytime I recycle my browser the issue goes away temporarily. (Or if I close the tab on edge and reopen it)
As I have , I experienced this throughout the responsive web design cert, but I have since finished that course and moved onto the JavaScript one, and can confirm I am having the exact same issue on there. The easiest way I've found to get rid of the delay is to reload page while ignoring cache.
It might be needed for user to be logged in. I've tried to reproduce it on Firefox. I've went from last steps of to about 30 step of the - without being logged in, no issues. Then after logging in, I started at the first step of , passing code was still in browser, so was just submitting it for the most part. By the 20th step writing was again slowing down. Edit: although Firefox doesn't display warning in console.
I also see it when logged in. It literally became so bad that is spiked the CPU if I held down a key and just let it repeat. It might somehow be related to the completion modal in the lower jaw, but I'm really not certain. That is at least also different depending on if you are signed in or not. The problem is, it didn't seem as bad in dev mode for me, so I'm not confident. But I removed the progress component and did twice as many steps, and it didn't happen. But as said, I'm really not sure if I trust it in dev mode. In the Performance log, looking at the bottom-up tab, was the first one.
Thanks everyone. I've finally reproduced it by doing ~20 responsive web design lessons while signed in. It does seem like is part of the problem, thanks I'm not sure it's the root of the problem, but it's definitely getting called far too often. My plan is to create a quick PR to stop the unnecessary calls and/or memoize the function. Hopefully that fixes it, but we'll have to see.
I was briefly looking at the Progress component and saw ProgressInner  Something about that code doesn't sit right with me. The and variable names seems a little like something that wasn't fully checked and tested. If I just log when the component renders, it does so on every keystroke, and even just left-clicking inside the active editor section logs a re-render. This is after you have completed at least one challenge step. ! Might not be related, but it doesn't seem right considering it isn't even shown. I'm a little skeptical of the Intersection observer and useEffect. I know this isn't very constructive, but that's all I've got for now.
I agree about the naming, it's a little sloppy. And, yes, something is going wrong meaning that it's getting re-rendered after challenge completion. makes it a lot better, though. It's still rendering when you start a new challenge (and it shouldn't), but it no longer renders in response to, well, everything.
I have unpinned the issue, considering it is closed as completed.
Hi Guys i am still experiencing this on two separate machines both running windows 11 and Chrome Browser extension installed , ublock origin and Ghostery this is whilst going through the responsive web design curriculum, in both building a balance sheet and the cat painting projects. I have experienced this behaviour both before and after i became a supported, and most recently experienced it about 5mins ago
Thank you for mentioning. However, the potential fix for this has not been deployed to production yet. So, until that is deployed, you can expect the issue to be present.
Hi everyone, the potential fix has been deployed, please report back if you're still experiencing the issue. Thank you for your patience, and happy coding.
hi , I've been using the JS beta curriculum all day from a single tab today. I did end up running into the performance issue again but it took a -lot- longer to run into it, and it was not lagging as bad as it used to when I would type (one of the issues I saw was that I would type and it would take a bit of time for the editor to display what I typed). Now when it slows down, the lag is not nearly as long (and as I said, I ran through a lot of steps today before seeing the slow-down). This is just to let you know what I have observed as you've asked us to report back. Thanks for the fix(es) already done.
Thanks for the follow-up, Some slowdown is expected, since the 'fix' was to make rendering considerably more efficient. This delays and mitigates the slowdown, but clearly something is getting less efficient over time. Since it's not too bad at the moment and it's hard to pin down the ultimate cause, I think we can leave this for now. We do plan to give the client some love before too long and that will give us another chance to squash the bug.
Hi Guys I am still running in to this issue, im currently working my way through learn-basic-javascript-by-building-a-role-playing-game. and after about 10 mins the typing of text starts to lag, im having to refresh the page and it seems to make it go away for a while
Other reports of slow performance
Thanks I'll give this another look.
should be another decent perf boost. Same deal as last time: while I expect this to be a lot better, there may still be deeper problems.
Tentatively closing again, since has been merged and should help considerably.

); }; <del> export const completedPercentageSelector = state => { const isSignedIn = isSignedInSelector(state); if (isSignedIn) { const completedChallengesIds = completedChallengesIdsSelector(state); const { id } = challengeMetaSelector(state); const currentBlockIds = currentBlockIdsSelector(state); const completedPercentage = getCompletedPercentage( completedChallengesIds, currentBlockIds, id ); return completedPercentage; } else return 0; }; </del> <ins> export const completedPercentageSelector = createSelector( isSignedInSelector, completedChallengesSelector, challengeMetaSelector, currentBlockIdsSelector, (isSignedIn, completedChallenges, { id }, currentBlockIds) => { if (isSignedIn) { const completedPercentage = getCompletedPercentage( completedChallenges.map(node => node.id), currentBlockIds, id ); return completedPercentage; } else return 0; } ); </ins> export const isBlockNewlyCompletedSelector = state => { const completedPercentage = completedPercentageSelector(state);


Question:
in step 20 of the JS building a pyramid generator project, the step refers to the " rows[2] assignment" but should instead refer to the "rows[ - 1]" assignment as that is the line in the code at that moment (not the "rows[2]" line. As the step begins with the code as given above, the instructions shouldn't say "rows[2]" to refer to the line "rows[ - 1]" (therefore a small correction to the correct line of code is needed) ! Device: laptop OS: windows Browser: chrome Version: No response
Second test also will need to be changed accordingly.

# --description-- <del> For now, remove your first console log and your `rows[2]` assignment. Leave the second `rows` log statement for later. </del> <ins> For now, remove your first console log and your `rows[rows.length - 1]` assignment. Leave the second `rows` log statement for later. </ins> # --hints--


Question:
in step 20 of the JS building a pyramid generator project, the step refers to the " rows[2] assignment" but should instead refer to the "rows[ - 1]" assignment as that is the line in the code at that moment (not the "rows[2]" line. As the step begins with the code as given above, the instructions shouldn't say "rows[2]" to refer to the line "rows[ - 1]" (therefore a small correction to the correct line of code is needed) ! Device: laptop OS: windows Browser: chrome Version: No response
Second test also will need to be changed accordingly.

assert.notMatch(code, /console.log(s*rows[s*0s*]s*)/); ``` <del> You should remove your `rows[2]` reassignment. </del> <ins> You should remove your `rows[rows.length - 1]` reassignment. </ins> ```js <del> assert.notMatch(code, /rows[2]/); </del> <ins> assert.notMatch(code, /rows[s*rows.lengths*-s*1s*]/); </ins> ``` You should not remove your `console.log(rows)` statement.


Question:
Lesson asks you to, "declare a regex variable. Assign it a regular expression that matches a number (including decimal numbers) followed by a or / operator followed by another number," but will accept regex' from users that don't satisfy this criteria (examples /d/ and /5/, matching anything with just a number, and anything with a 5 in it). Related issue to address test being too strict. Opened from forum post: Lesson should pass when Regex matches against a number, followed by a or / operator, followed by another number, but matches any number. Regex's that pass but should not (likely not limited to): /5/ /d/ // No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
It looks like the last test to could be updated to include a few more assertions like this js assert.isTrue(highPrecedence("53")); assert.isFalse(highPrecedence("5")); assert.isTrue(highPrecedence("10/2")); assert.isFalse(highPrecedence("")); But also, looking at this challenge again, I think it could be simplified. At this point, we should only be testing for the final result and allow campers to solve it however they want to. Here is my proposed update js assert.isBoolean(highPrecedence("122")); js assert.isTrue(highPrecedence("53")); assert.isFalse(highPrecedence("5")); assert.isTrue(highPrecedence("10/2")); assert.isFalse(highPrecedence("")); I'll open this up for discussion so the other members can chime in with thoughts.
I see this as the only test for the regular expression itself: Your variable should be a regular expression. does this issue require the addition of more tests? and if so, should there be seperate tests for each regex that produces an unexpected behavior like /5/ and /d/ or just one test that ensures the regex conforms to what was asked for (includes the two numbers, * symbol, / symbol, and 3 capture groups)?
The test you mentioned here only checks that the a regex variable was created and that some sort of regex is being used Currently this test is checking for the correct result js assert.strictEqual(highPrecedence("53"), true); but it right now allows for multiple incorrect answers My proposal is to rewrite the lesson to allow for more correct answers and ensure that incorrect answers don't pass. Right now, you have to create a regex variable and you have to return But there are dozens of correct answers and this should be rewritten to allow for that. So you can see my note here for my proposed changes The thing we want to be carefully about is not using regex tests to check for this. Because that is what is happening for the other lessons and it is difficult to maintain and only allows for a specific answer. So that is why this is marked as open for discussion
Opening this up for contribution - a PR which resolves this will follow Jessica's updated approach in to test the function result, regardless of the function implementation.

--- # --description-- <ins> In your `highPrecedence` function, declare a variable using `const` and assign it a regex that checks if the string passed to the `str` parameter matches the pattern of a number followed by a `*` or `/` operator followed by another number. </ins> <del> In your `highPrecedence` function, declare a `regex` variable. Assign it a regular expression that matches a number (including decimal numbers) followed by a `*` or `/` operator followed by another number. Each number, and the operator, should be in separate capture groups. Incorporate the regular expression you've defined into your `highPrecedence` function to test if the provided string `str` matches the pattern. Use the `test()` method on your `regex` variable and return the result. </del> <ins> Your function should return a boolean value. Remember that you can use the `test()` method for this. </ins> # --hints-- <del> You should declare a `regex` variable in your `highPrecedence` function. </del> <ins> You should declare a variable in your `highPrecedence` function for your regex. </ins> ```js <del> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*(?:const|let|var)s+regex/); </del> <ins> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*(?:const|let|var)s+w+/); </ins> ``` <del> You should use `const` to declare your `regex` variable. </del> <ins> You should use `const` to declare your regex variable. </ins> ```js <del> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*consts+regex/); </del> <ins> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*consts+w+/); </ins> ``` <del> Your `regex` variable should be a regular expression. </del> <ins> Your regex variable should contain a regular expression. </ins> ```js <del> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*consts+regexs*=s*//); </del> <ins> assert.match(code, /consts+highPrecedences*=s*((s*strs*)|str)s*=>s*{s*consts+w+s*=s*//); </ins> ``` <del> Your highPrecedence should return `regex.test(str);` </del> <ins> Your `highPrecedence` function should return a boolean value. </ins> ```js <del> assert.match(code, /returns+regex.test(str);?/); </del> <ins> assert.isBoolean(highPrecedence("12*2")); </ins> ``` <del> Please enter a properly functioning regex. </del> <ins> Your `highPrecedence` function should correctly check if the string matches the pattern of a number followed by a `*` or `/` operator followed by another number. </ins> ```js <del> assert.strictEqual(highPrecedence("5*3"), true); </del> <ins> assert.isTrue(highPrecedence("5*3")); assert.isFalse(highPrecedence("5")); assert.isTrue(highPrecedence("10/2")); assert.isFalse(highPrecedence("*")); </ins> ``` # --seed--


Question: The following classes in are unused and should be removed: .help-modal .help-modal-heading .btn-lgRemove the above classes from Test and confirm that the modal displays properly after the changes

padding-bottom: 10px; } <del> .help-modal-heading { line-height: 1.5; font-weight: 400; word-spacing: -0.4ch; } </del> .help-form-legend { color: var(--secondary-color); border: 0;