jiebi/CodeConvo huggingface dataset:
Change:
This test is whitespace sensitive when it shouldn't be. Fails: Passes: Valid HTML should pass. No response All No response

Discussion:
You should add the `flavor` class to your `p` element. ```js <del> assert(code.match(/<ps*class=('|")flavor1s*>/i)); </del> <ins> assert(code.match(/<ps*classs*=s*('|")flavor1s*>/i)); </ins> ``` You should only have one element with the `flavor` class.
Change:
Originally posted by in We should hide the character images with - we can probably hide all the images, except for maybe the base character.
I believe leaving blank should suffice: I haven't tested locally and only skimmed through the code. Correct me if I'm wrong, I think we are communicating which character is speaking only visually using these images. So hiding the images is one thing, but providing an alternative way to convey the information is another thing.
Yes, definitely, these images should have empty alt text!
Alt text emptied

Discussion:
style={characterFeatureStyles} className='character-feature' src={base} <del> alt='Character Body' </del> <ins> alt='' </ins> /> <img style={characterFeatureStyles} className='character-feature' src={brows} <del> alt='Character Brows' </del> <ins> alt='' </ins> /> <img style={characterFeatureStyles} className='character-feature' src={eyesAreOpen ? eyesOpen : eyesClosed} <del> alt='Character Eyes' </del> <ins> alt='' </ins> /> <img style={characterFeatureStyles} className='character-feature' src={mouthIsOpen ? mouthOpen : mouthClosed} <del> alt='Character Mouth' </del> <ins> alt='' </ins> /> {glasses && ( <img style={characterFeatureStyles} className='character-feature' src={glasses} <del> alt='Character Glasses' </del> <ins> alt='' </ins> /> )} </div>
Change:
In you can see the dialogue text in night mode, but not otherwise. The issue is that the font changes colour, but the background image does not.
Ha, this explains why I didn't think there were any captions, I never looked at it in dark mode.
I had the same thought haha

Discussion:
.scene-wrapper { overflow: hidden; position: relative; <ins> color: var(--gray-00); </ins> } .scene-start-screen {
Change:
In the exit exam modal, the primary button comes first then the close button, while the reset progress and delete account modals have it the other way around. We have been displaying buttons from the most used/important to the least (check code -save code -get help), so I think the reset progress and delete account modals should be changed to follow the pattern. It's to maintain the consistency and to prevent the user from clicking the wrong button with their muscle memory (the color in this case helps, but non-sighted users won't have the cue). The button order of the reset progress and delete account modals should be flipped.
Other way around, I think. The exit exam should be flipped. If the top button is the most commonly used one, then we should set that to the non-destructive action here. That way, if someone clicks it out of muscle memory and not intention, they haven't done something irreversible.
Yup, I think the exam one should be flipped - that's how it is in the danger zone on the settings too
Okay, thanks everyone for the input. We are going to proceed with an update in the exit exam modal. This issue is open to first-time code contributors to this repository. The file that you should be updating is 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.
Yes, I agree. The 'Reset progress' and 'Delete account' buttons should be reversed. The affirmative option always comes first, followed by the negative option.
Hello, I have flipped the order of the buttons. This should reflect the structure that it appears as.
Follow the
I have flipped the order of exit-exam model buttons, Please review it

Discussion:
</Modal.Body> <Modal.Footer className='reset-modal-footer'> <Button <del> data-cy='exit-exam-modal-confirm' block={true} bsStyle='danger' onClick={exitExam} > {t('learn.exam.exit-yes')} </Button> <Button </del> data-cy='exit-exam-modal-deny' block={true} bsStyle='primary'

> {t('learn.exam.exit-no')} </Button> <ins> <Button data-cy='exit-exam-modal-confirm' block={true} bsStyle='danger' onClick={exitExam} > {t('learn.exam.exit-yes')} </Button> </ins> </Modal.Footer> </Modal> );
Change:
I consistently got the following error when running Cypress locally: Run Run either or Cypress attempts to run, but will fail with the above errorOS: MacOS Sonoma I was able to resolve the issue by adding to the command and re-run . I've been having some strange issues lately with localhost so I think this is due to my local setup, but I'm reporting still, to check if anyone was/is experiencing the same problem. We can add a note to the Cypress guide if I'm not the only one ran into it.
Solution: Remove Cypress
So the victim count is 2 now as Sem joined the club. I'll go ahead and add a note to the doc. I've also created to kick off the Cypress removal.

Discussion:
- When prompted in the terminal, select your keyboard layout by language/area Now, [Cypress can be run](how-to-add-cypress-tests.md#_2-run-the-cypress-tests) <ins> ## Troubleshooting ### Unable to Connect to Port 8000 If Cypress fails to run with the following error: ``` CypressError: `cy.visit()` failed trying to load: http://localhost:3000/signin We attempted to make an http request to this URL but the request failed without a response. We received this error at the network level: > Error: connect ECONNREFUSED 127.0.0.1:8000 Common situations why this would fail: - you don't have internet access - you forgot to run / boot your web server - your web server isn't accessible - you have weird network configuration settings on your computer This error occurred while creating the session. Because the session setup failed, we failed the test. ``` You can resolve the issue by: - Going to the root `package.json` file and adding `--host 0.0.0.0` to the `develop:client` command: ```json "scripts": { "develop:client": "cd ./client && pnpm run develop --host 0.0.0.0" } ``` - Then, re-running `pnpm run develop` </ins>
Change:
I was helping a with in the new JS curriculum and they weren't able to pass the tests because of the way they formatted their answer. Here was their code We should allow for that code to pass because they got it right. Here are the current tests For all of the tests that use we should instead update it to use a regex solution with instead. That will make it possible for campers to submit answers with different spacing. All of the tests with the to make sure they have a or element should stay the same though. For those, interested in working on this issue, please read through the first. There will be no assignment for this issue. If you are interested in working on it, then you can submit a PR The following code should pass regardless of different formatting with spaces. 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

Discussion:
```js const stat = document.querySelectorAll('.stat')[0]; <del> assert.equal(stat.innerText, 'XP: 0'); </del> <ins> assert.equal(stat.innerText.trimEnd(), 'XP: 0'); </ins> ``` You should add a `strong` element in your second `.stat` element.

```js const stat = document.querySelectorAll('.stat')[1]; <del> assert.equal(stat.innerText, 'Health: 100'); </del> <ins> assert.equal(stat.innerText.trimEnd(), 'Health: 100'); </ins> ``` You should add a `strong` element in your third `.stat` element.

```js const stat = document.querySelectorAll('.stat')[2]; <del> assert.equal(stat.innerText, 'Gold: 50'); </del> <ins> assert.equal(stat.innerText.trimEnd(), 'Gold: 50'); </ins> ``` # --seed--
Change:
No need to use here since the array is not re-assigned in later steps. We used for other arrays in this project that aren't reassigned. No response All No response
Hello, I fixed this by doing the following: 1) went to 2) found the ID of step-162 () 3) went to the repositories code and searched for the markdown file through ID. 4) the markdown file 5) Updated the markdown file to use 'const' instead of 'let' ! After this commit is approved, this should be able to be closed.
All of the seed code for subsequent challenges would also be changed.
I am not sure what you mean by this. Is there anything I can do to learn this? Are you referring to all references of 'let' initialization to be changed to 'const' in future steps?
Not quite - the answer to this step becomes part of the starting code for all future steps. If we change the instructions to use here, then then starting code on all future steps needs to be swapped to reflect that.
Hi, I raised a PR to fix this

Discussion:
# --description-- <del> Inside `pick`, use `let` to initialize a variable named `numbers` and set it to an empty array. </del> <ins> Inside `pick`, use `const` to initialize a variable named `numbers` and set it to an empty array. </ins> # --hints--

--fcc-editable-region-- function pick(guess) { <del> let numbers = []; </del> <ins> const numbers = []; </ins> } --fcc-editable-region--

--fcc-editable-region-- function pick(guess) { <del> let numbers = []; </del> <ins> const numbers = []; </ins> while (numbers.length < 10) { }

--fcc-editable-region-- function pick(guess) { <del> let numbers = []; </del> <ins> const numbers = []; </ins> while (numbers.length < 10) { numbers.push(Math.floor(Math.random() * 11)); }

} function pick(guess) { <del> let numbers = []; </del> <ins> const numbers = []; </ins> while (numbers.length < 10) { numbers.push(Math.floor(Math.random() * 11)); }
Change:
The test is expecting to use 49 in the slice. Which seems like could have been an error….It should be 50 The test is expecting to use 49 in the slice. Which seems like could have been an error….It should be 50 No response Device: [Laptop] OS: [Windows 10] Browser: [ Chrome] No response
Yes, you are correct. The test is incorrect. I will go ahead and open this up for contribution for the community. Please read through the guidelines first. We do not assign issues. If you are interested in working on this, then work on the issue and create a PR. Several changes need to be made Here is the first file that needs to be updated For step , you will need to update these two tests here to use the correct value of 50 for the slice method. You will also need to update the seed code for steps 28 and 29. Remember that step 29 also has the complete solution which needs to be updated as well Happy coding

Discussion:
If the `bio` text is greater than `50` characters, you should extract the first 50 characters with `slice()` and replace the rest with `...`. Don't forget that indexes are zero-based. ```js <del> assert.match(code, /<ps*class=("|')bio1>${s*bio.lengths*>s*50s*?s*bio.slice(s*0,s*49s*)s*+s*("|')...2s*:/) </del> <ins> assert.match(code, /<ps*class=("|')bio1>${s*bio.lengths*>s*50s*?s*bio.slice(s*0,s*50s*)s*+s*("|')...2s*:/) </ins> ``` If the `bio` text is less than 50 characters, use the `bio` text directly. ```js <del> assert.match(code, /<ps*class=("|')bio1>${s*bio.lengths*>s*50s*?s*bio.slice(s*0,s*49s*)s*+s*("|')...2s*:s*bios*}</p>/) </del> <ins> assert.match(code, /<ps*class=("|')bio1>${s*bio.lengths*>s*50s*?s*bio.slice(s*0,s*50s*)s*+s*("|')...2s*:s*bios*}</p>/) </ins> ```

<h2 class="author-name">${author}</h2> <img class="user-img" src="${image}" alt="${author} avatar"> <div class="purple-divider"></div> <del> <p class="bio">${bio.length > 50 ? bio.slice(0, 49) + '...' : bio}</p> </del> <ins> <p class="bio">${bio.length > 50 ? bio.slice(0, 50) + '...' : bio}</p> </ins> <a class="author-link" href="${url}" target="_blank">${author} author page</a> </div> `;

<h2 class="author-name">${author}</h2> <img class="user-img" src="${image}" alt="${author} avatar" /> <div class="purple-divider"></div> <del> <p class="bio">${bio.length > 50 ? bio.slice(0, 49) + '...' : bio}</p> </del> <ins> <p class="bio">${bio.length > 50 ? bio.slice(0, 50) + '...' : bio}</p> </ins> <a class="author-link" href="${url}" target="_blank">${author} author page</a> </div> `;
Change:
For , the answer is already provided for them. The starting seed code needs to just be the button element without the onclick. Here is the file that needs changing If you are interested in working on this please read through the first We do not assign issues. If you are interested, work on the issue and then create a PR for the fix. Happy coding! incorrect start code This should be the correct starting seed code 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

Discussion:
return ` <li id="song-${song.id}" class="playlist-song"> --fcc-editable-region-- <del> <button class="playlist-song-info" onclick="playSong(${song.id})"> </del> <ins> <button class="playlist-song-info"> </ins> <span class="playlist-song-title">${song.title}</span> <span class="playlist-song-artist">${song.artist}</span> <span class="playlist-song-duration">${song.duration}</span>
Change:
This step for checking an empty div element is to strict. This answer should be valid but fails the current test The tests only pass with this answer which is to restrictive The last test here needs to be updated to make it account of spacing. Probably using with a regex will be better then here Please read through the first We do not assign issues. If you are interested in working on this, please fix the test mentioned and create a PR Here is the file you will need to change Happy coding! This answer should be valid but fails the current test This answer should pass the tests 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

Discussion:
Your new `div` should be empty. ```js <del> assert.equal(document.querySelector('.container > div')?.innerHTML, ''); </del> <ins> assert.equal(document.querySelector('.container > div')?.innerHTML.trim(), ''); </ins> ``` # --seed--
Change:
The default CSS provided for the Calorie Counter in step 1 has the property set to for the element. I'm going to assume this was just an oversight, and not because you all are trying to cause me an early death by raising my blood pressure. Remove the property completely from the element. No response N/A No response

Discussion:
} button { <del> outline: none; </del> cursor: pointer; text-decoration: none; background-color: var(--light-yellow);
Change:
Description and question refers to the Here's the main office area. And over there, let me show you, that's the conference room. text. However the audio mentions let me show you in context of showing to the desk. n/a Audio used in task should match the description context. Or the other way around. No response n/a No response
Yes, this is a problem. None of the answers are correct. Here's how I'd fix it: change the option "the conference room" to "the desk". This should solve the problem. We could also: simplify the question to "What is Maria directing attention to?" simplify the example to "Here's the main office area. Let me show you to the conference room."
I am fine with the suggestion. You could use as the example. What do you think
Agreed I'm going to add the help wanted label.

Discussion:
# --description-- <del> The phrase `let me show you` can be used to direct attention and introduce something. For example: `Here's the main office area. And over there, let me show you, that's the conference room.` </del> <ins> The phrase `let me show you` can be used to direct attention and introduce something. For example: `This is the main office area. Let me show you to the conference room.` </ins> # --question-- ## --text-- <del> What is the speaker directing attention to after saying `let me show you`? </del> <ins> What is Maria directing attention to? </ins> ## --answers-- <del> The main office area </del> <ins> Main office area </ins> ### --feedback--

--- <del> The kitchen </del> <ins> Kitchen </ins> ### --feedback--

--- <del> The conference room </del> <ins> Desk </ins> --- <del> The elevator </del> <ins> Elevator </ins> ### --feedback--
Change:
The creation of the help wanted forum post should be changed to use correct Python comments for files. Right now the posts are created with the wrong type of comment. !
I want to work on this issue
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.

Discussion:
export function insertEditableRegions(challengeFiles = []) { if (challengeFiles?.some(file => file.editableRegionBoundaries?.length > 0)) { const editableRegionStrings = fileExtension => { <del> const startComment = fileExtension === 'html' ? '<!--' : '/*'; const endComment = fileExtension === 'html' ? '-->' : '*/'; return `n${startComment} User Editable Region ${endComment}n`; </del> <ins> switch (fileExtension) { case 'html': return 'n<!-- User Editable Region -->n'; case 'css': return 'n/* User Editable Region */n'; case 'py': return 'n# User Editable Regionn'; case 'js': return 'n// User Editable Regionn'; default: return 'nUser Editable Regionn'; } </ins> }; const filesWithEditableRegions = challengeFiles.map(file => {
Change:
The help post now has this header: ! which is It should have only one set of hashtags.
Could you clarify where you see this? I don't seem to have this issue on my end.
I did not specify, sorry, it's for posts that have the following message

Discussion:
const addCodeOne = i18next.t('forum-help.add-code-one'); const addCodeTwo = i18next.t('forum-help.add-code-two'); const addCodeThree = i18next.t('forum-help.add-code-three'); <del> const altTextMessage = `### ${whatsHappeningHeading}nn### ${camperCodeHeading}nn${warning}nn${tooLongOne}nn${tooLongTwo}nn${tooLongThree}nn```textn${addCodeOne}n${addCodeTwo}n${addCodeThree}n```nn${endingText}`; </del> <ins> const altTextMessage = `### ${whatsHappeningHeading}nn${camperCodeHeading}nn${warning}nn${tooLongOne}nn${tooLongTwo}nn${tooLongThree}nn```textn${addCodeOne}n${addCodeTwo}n${addCodeThree}n```nn${endingText}`; </ins> const titleText = window.encodeURIComponent( `${i18next.t(
Change:
The link above should be: The link to the demo project should link to the demo Tribute Page but links instead to the demo Portfolio Webpage. 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
Thanks for reporting the issue. We should also update the text to remove the at the start of the sentence. This issue is open to first-time code contributors to this repository. The file that you should be updating is 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.
Hi! I've created a pull-request for this issue: The only thing that I am worrying about, is tests. Although it's really tiny pull-request and nothing should break, I've tried to run tests just for my interest. But even on a new forked repository without any changes, I have one test fail (see screenshot). <img width="1059" alt="image" src=""I'm sure this has nothing to do with my pull-request, given that this error appears even without any changes. But, for the future, maybe you can tell me if I’m doing something wrong? Or is the problem in the tests?
That looks like a flaky test. Please help open a new issue for it.

Discussion:
# --description-- <del> ++**Objective:** Build an app that is functionally similar to <a href="https://personal-portfolio.freecodecamp.rocks" target="_blank" rel="noopener noreferrer nofollow">https://personal-portfolio.freecodecamp.rocks</a>. **Do not copy this demo project**. </del> <ins> **Objective:** Build an app that is functionally similar to <a href="https://tribute-page.freecodecamp.rocks" target="_blank" rel="noopener noreferrer nofollow">https://tribute-page.freecodecamp.rocks</a>. **Do not copy this demo project**. </ins> **User Stories:**
Change:
The solution requires that parenthesis do not surround the parameter for the sum function. This is a bit inconsistent since previous projects and steps have either required the parenthesis or has accepted both. Both code answers should be correct. No response Device: [Laptop] OS: [ Windows 11] Browser: [Edge] Version: [120.0.2210.91] No response
Issue is actually with optional space, that's not in regex, as this passes:

Discussion:
Your `sum` function should return the result of calling `.reduce()` on `nums`. ```js <del> assert.match(code, /consts*sums*=(?s*numss*)?s*=>s*nums.reduce(/); </del> <ins> assert.match(code, /consts*sums*=s*(?s*numss*)?s*=>s*nums.reduce(/); </ins> ``` Your `sum` function should return the sum of all numbers in `nums`.
Change:
I'm no language genius but I don't think the requirement is correct. I'm not sure you are supposed to use two full stops in a row after an abbreviation. Not sure if both are correct or what? ,full%20stops%20in%20a%20row Maybe don't end the sentence in an abbreviation if it makes it unclear. Or do not require two full stops. 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 agree that this could be unnecessarily confusing. I also believe that it is technically incorrect to end a sentence with two full stops (periods) even when the sentence ends with an abbreviated word. As I understand it (grammatically) the single full stop serves a dual purpose in this case.
Should we add comma to first full stop or any other suggestion? If yes i am happy to do so?
I suggest changing the sentence to not end with the abbreviation. I think it is more important to teach the use of a period to denote an abbreviation, than it is to teach "no two periods in a row". Maybe that could be another lesson.
I would agree with that. But I would assume that's also more work than just removing the period at the end.
Oh. Right. I completely forgot the video/audio matched the sentence. In that case, I change my suggestion to just removing the period oat the end.
This issue is open to first-time code contributors to this repository. The change you should be making is to remove the period at the end of the sentence, under the section. The file that you should be updating is 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.

Discussion:
## --sentence-- <del> `_ to _ you all. I'm David, the project _ from FCC _.` </del> <ins> `_ to _ you all. I'm David, the project _ from FCC _` </ins> ## --blanks--