jiebi/CodeConvo huggingface dataset:
Change:
The current header height of the learn platform is over 50. Please set it to 38px. Instructions: find the --header-height variable and set it 38px similar to the following: --header-height: 38px;

Discussion:
--focus-outline-color: var(--blue-mid); --font-family-sans-serif: 'Lato', sans-serif; --font-family-monospace: 'Hack-ZeroSlash', monospace; <del> --header-element-size: 30px; </del> <ins> --header-element-size: 28px; </ins> --header-sub-element-size: 45px; <del> --header-height: 56px; </del> <ins> --header-height: 38px; </ins> --breadcrumbs-height: 44px; --z-index-site-header: 200; }
Change:
This particular lesson does not correctly explain the attribute. It says "Tell the browser to parse the markup into multiple languages by creating a meta element as a child of the head element. Set its charset attribute to UTF-8." which implies that the charset attribute can automatically translate the markup. Compare this with the explanation from Learn Basic CSS by Building a Cafe Menu: Step 3 which says "Inside the head element, nest a meta element with an attribute named charset set to the value utf-8 to tell the browser how to encode characters for the page. Note that meta elements are self-closing." 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
I agree with updating the text here Let's go with this change html <meta attribute="value"` 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

Discussion:
<meta attribute="value"> ``` <del> Tell the browser to parse the markup into multiple languages by creating a `meta` element as a child of the `head` element. Set its `charset` attribute to `UTF-8`. </del> <ins> Inside the `head` element, nest a `meta` element with an attribute named `charset`. Set to the value to `utf-8` which tells the browser how to encode characters for the page. Note that `meta` elements are self-closing. </ins> # --hints--
Change:
This should be a clearer description and fix the inconsistencies for the user of backticks. ` 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

Discussion:
# --description-- <del> Inside the `button`, create two more `span` elements. The first span element should have class `playlist-song-artist` and interpolate `song.artist`. The second span element should have class `playlist-song-duration` and interpolate `song.duration`. </del> <ins> Inside the `button` element, create two more `span` elements. The first `span` element should have a `class` of `playlist-song-artist`. In between the `span` tags, add `${song.artist}`. The second `span` element should have a `class` of `playlist-song-duration`. In between the `span` tags, add `${song.duration}`. </ins> # --hints--
Change:
This project is missing key times to encourage the camper to test out their code. This will help camper see the results of the code they just wrote. 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

Discussion:
# --description-- <del> It's time to hook up the `playNextSong` function to an event listener. </del> <ins> Now it is time to test out the `playNextSong` function. </ins> Add a `click` event listener to the `nextButton` element, then pass in `playNextSong` as the second argument of your event listener. This is the function the event listener will run. <ins> Test out your app by first clicking on the play button followed by the next button. You should see that everything is working as expected. </ins> # --hints-- You should call the `addEventListener()` method on your `nextButton` variable.
Change:
Describe the bug There's typo in two steps in the hint text. Yous should be changed to You. This 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: Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.

Discussion:
# --hints-- <del> Yous should remove the code toggling the `hidden` class on `taskForm`. </del> <ins> You should remove the code toggling the `hidden` class on `taskForm`. </ins> ```js const splitter = code.split('<button type="button" class="btn">Delete</button>')

# --hints-- <del> Yous should remove the code toggling the class `hidden` on `taskForm`. </del> <ins> You should remove the code toggling the class `hidden` on `taskForm`. </ins> ```js const splitter = code.split("confirmCloseDialog.close();")
Change:
We are still getting a lot of people on the forum confused on how to do step 146 of RPG project. They are looking to the current example and returning strings when the directions say to return the variable and the number . In order to clear up confusion, we should chose a different example. I know that this is updated code example is very similar to what they need to do in the step. But I think that is what they need at this stage. js // if-else statement if (score 0) { return score } else { return defaultscore } // ternary operator score 0 ? score : defaultscore ` 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

Discussion:
Here is an example of returning a value using an `if-else` statement and a refactored example using a ternary operator: ```js <del> if (num > 5) { return 'num is greater than 5'; </del> <ins> // if-else statement if (score > 0) { return score </ins> } else { <del> return 'num is smaller than or equal to 5'; </del> <ins> return default_score </ins> } <del> return num > 5 ? 'num is greater than 5' : 'num is smaller than or equal to 5'; </del> <ins> // ternary operator score > 0 ? score : default_score </ins> ``` In `getMonsterAttackValue`, change `return hit` to a ternary operator that returns `hit` if `hit` is greater than `0`, or returns `0` if it is not.
Change:
A camper was unable to pass the test with either of the following answers The issue had to deal with spacing after the This has to be fixed because they got the correct answer 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
I'd love to take a crack at this. However, I'm struggling to find the relevant files the . If someone could help point me in the right direction that would be amazing!
it's here
Awesome! I'll take a look later! Thanks again for the help, I much appreciate it!

Discussion:
If your ternary is falsy, it should display the string `N/A`. ```js <del> assert.match(code, /s*<ps*>s*Nickname:s*${s*nicknames*(?:!==s*null)?s*?s*nicknames*:s*('|"|`)N/A1}s*</p>s*/) </del> <ins> assert.match(code, /s*<ps*>s*Nickname:s*${s*nicknames*(?:!==s*null)?s*?s*nicknames*:s*('|"|`)N/A1s*}s*</p>s*/) </ins> ``` # --seed--
Change:
The tests of this step have an issue with spacing, this code fails: This code passes:
Thanks for opening this issue. This looks 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: Regex in 4th test should be changed to optionally allow spaces before , from: to: List of files: Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
/attempt

Discussion:
You should assign `arr.map()` to the `playerCards.innerHTML` using the `+=` operator. ```js <del> assert.match(code, /playerCards.innerHTMLs++=s*arr.map(s*(s*)s*=>s*{s*}s*)/) </del> <ins> assert.match(code, /playerCards.innerHTMLs*+=s*arr.map(s*(s*)s*=>s*{s*}s*)/) </ins> ``` # --seed--
Change:
The instructions ask to learner to use the Impact font. One learner on the forum posted that the tests fails use of using lower case first letter for the font name. In the screenshots, one picture is the rendering of the unaltered code, the other using impact (lower case) font name. The tests should pass use of either impact or Impact. ! ! NA No response
The test right now is: which constrict to a specific casing it could be transformed into 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: /challenges/english/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe- 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:
You should set the `font-family` to `Impact`. ```js <del> const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'] === 'Impact'); </del> <ins> const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'].toLowerCase() === 'impact'); </ins> assert(hasFontFamily); ```
Change:
Hello, I believe there is a typo in the join() method example on Learn Basic String and Array Methods by Building a Music Player - Step 18 I expect: should actually be: It's just a typo in the example explaining the join() method. ! N/A No response
Good catch. I will open it up for first timers contribution
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 The code example in this step needs to be updated to reference the correct array name Happy coding

Discussion:
```js const exampleArr = ["This", "is", "a", "sentence"]; <del> const sentence = exampleArray.join(" "); // Separator takes a space character </del> <ins> const sentence = exampleArr.join(" "); // Separator takes a space character </ins> console.log(sentence); // Output: "This is a sentence" ```
Change:
The word 'in' is double I like to workin in the morning. -Proceed to the 4th course 'Learn How to Talk About a Typical Workday and Tasks' -Proceed to Task 2 -Observe the third sentence 'I like to workin in the morning. I like to work in the morning. !
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: /curriculum/challenges/english/21-a2-english-for-developers/learn-how-to-talk-about-a-typical-workday-and- 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.
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:
Prepositions of time are essential in English to talk about when something happens. <del> The preposition `in` is used for months, years, centuries, and long periods. For example, `We will update the software in July`, `I started learning coding in 2022`. `I like to workin in the morning`. </del> <ins> The preposition `in` is used for months, years, centuries, and long periods. For example, `We will update the software in July`, `I started learning coding in 2022`. `I like to work in the morning`. </ins> The preposition `on` is used for days and dates. For example: `Our team meets on Mondays`, `The coding class is on April 10th`, `I finished the task on the last day`.
Change:
After submitting one of the new multifile Python cert projects, when you try to view the project on your settings page - it shows a blank page (links are to .dev) to a a solution to down to the project you just submitted -blank page Either show the python code running, or just remove the button for those projects. !

Discussion:
'showMultifileProjectSolution' ); expect(getSolutionDisplayType(multifilePythonSolution)).toBe( <del> 'showMultifileProjectSolution' </del> <ins> 'showUserCode' </ins> ); }); it('should handle solutions with a single valid url', () => {

}: CompletedChallenge): DisplayType => { if (examResults) return 'showExamResults'; if (challengeFiles?.length) <del> return challengeType === challengeTypes.multifileCertProject || challengeType === challengeTypes.multifilePythonCertProject </del> <ins> return challengeType === challengeTypes.multifileCertProject </ins> ? 'showMultifileProjectSolution' : 'showUserCode'; if (!solution) return 'none';
Change:
We are using in the tests of Table component. does not guarantee that the element has the correct role, and this attribute should be the last resort when querying an HTML. We should use the method instead. Remove from the tests Replace with
/attempt

Discussion:
describe('<Table />', () => { it('should apply striped bg color to every odd <tr> element', () => { <del> render(<Table data-testid='test' striped />); </del> <ins> render(<Table striped />); </ins> <del> const table = screen.getByTestId('test'); </del> <ins> const table = screen.getByRole('table'); </ins> const oddTableRowClass = '[&>tbody>tr:nth-of-type(odd)]:bg-background-tertiary'; expect(table).toHaveClass(oddTableRowClass); }); it('should apply the condensed to <th> and <td> elements', () => { <del> render(<Table data-testid='test' condensed />); </del> <ins> render(<Table condensed />); </ins> <del> const table = screen.getByTestId('test'); </del> <ins> const table = screen.getByRole('table'); </ins> const tableDataClass = '[&_td]:p-1 '; const tableHeaderClass = '[&_th]:p-1';
Change:
We need to show the proper syntax for assiging the result of a ternary operator to a variable's text content as mentioned in this . Let's go with this updated description js el.textContent = condition ? "Use this text if the condition is true" : "Use this text if the condition is false"; ` 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
I guess I'm fine with being this explicit about it and showing an example. But I would hope by now in the curriculum (this challenge is far in) we have promoted the proper usage of the ternary so that it might be handled just in the assert hints. Also, the hint in the assert for the code posted on the forum isn't super helpful in guiding the camper to the desired syntax.
I am not sure how the assert messages would be updated here to show the syntax. Unless we just give them the answer here. I am open to ideas for changes

Discussion:
# --description-- <del> Back in your event listener, you need to update the text of the `result` element. </del> <ins> Back in your event listener, you need to update the text of the `result` element. You can use a `ternary` operator to achieve this task. Here is an example of assigning the result of a ternary operator to an element's text content: ```js el.textContent = condition ? "Use this text if the condition is true" : "Use this text if the condition is false"; ``` </ins> After the `if` statement, use a ternary operator to check the truthiness of calling `isSpam()` with `messageInput.value` as the argument. If true, set the `textContent` property on the `result` element to `Oh no! This looks like a spam message.`. Otherwise, set it to `This message does not seem to contain any spam.`
Change:
I got a mini heart attack as I randomly tested the Storybook page of the component and found that the component failed a11y checks. <img width="1680" alt="Screenshot 2024-03-06 at 00 49 32" src=""This is because: We pass as an empty string to the component in the Storybook demo: We use the operator in the computation of the button's label, which would only fall back to if is either or : Note that this issue is only in Storybook and not in /learn as we do pass a to there: In , replace the operator with the operator In , make an empty object instead of containing empty and
I do not care much about the implementation, BUT, surely if a label of is never valid, then it is best to make the optional, and not pass one to the component? That is, I can imagine passing to a component because I do not want one, but was forced to pass one because it is not optional.
For this particular component, I agree that can be optional or can even be removed as a configuration option, since I don't think we need any customization here (the button's label should just be "Close" rather than something else). In fact, is already an optional prop of . However, has a limitation, which is that the library is not localized, so we still want to pass strings from /learn in order to have them translated. Semi-related, there was a discussion a while back regarding whether or not we should expose for consumption outside of . We decided to export the component because: The component in doesn't have a close button, but its version in /learn (which is called ) has one, so was built. (I wasn't around during the development of most of the components so I don't have the full context of the technical design) The limitation mentioned above.

Discussion:
type Story = StoryObj<typeof CloseButton>; export const Basic: Story = { <del> args: { className: '', label: '' } </del> <ins> args: {} </ins> }; export default story;

return ( <button className={classes} onClick={onClick} type='button'> <del> <span className='sr-only'>{label ?? 'Close'}</span> </del> <ins> <span className='sr-only'>{label || 'Close'}</span> </ins> <span aria-hidden>×</span> </button> );
Change:
A in the forum spotted a typo in the instructions for step 62 of Building a Password Generator, Python in the second paragraph should be spelt ! NA No response
I'm adding the badge to this so new contributors can grab it.
Hello, I would like to work on this issue if it's not assigned to anyone.
Hi , We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labeled 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.
What is the first timers only tag?
Please do not ping a maintainer unless it's an urgent matter. You can see the description of a label if you hover on it. The label is to tag issues that are open to first-time contributors. Please also see

Discussion:
`all()` is a built-in Python function that returns `True` if all the elements inside a given iterable evaluate to `True`. Otherwise, it returns `False`. <del> You can combine the `all()` function with the list comphehension syntax to make your code more concise. </del> <ins> You can combine the `all()` function with the list comprehension syntax to make your code more concise. </ins> Modify your `if` condition by passing the list comprehension you created in the previous step to the `all()` function.
Change:
This step will fail with code and will pass removing the semicolon at the end of the third line. It doesn't look like this test allows for semicolon

Discussion:
Your `letters.forEach()` callback function should be nested inside the `range(1, 99).forEach(number => {}` callback function. ```js <del> assert.match(code, /ranges*(s*1s*,s*99s*)s*.forEachs*(s*((s*numbers*)|number)s*=>s*{s*[^}]*letters.forEach(s*((s*letters*)|letter)s*=>s*{s*}s*)s*}s*)/) </del> <ins> assert.match(code, /ranges*(s*1s*,s*99s*)s*.forEachs*(s*((s*numbers*)|number)s*=>s*{s*[^}]*letters.forEach(s*((s*letters*)|letter)s*=>s*{s*}s*)s*;?s*}s*)/) </ins> ``` # --seed--
Change:
The wording of the hint text does not match the instructions. The word not is missing from the hint. js (code, /consts+updates=s(?:(sevents))1s)s;?sifs(/); Your condition should check if includes the of the . Your condition should check if does not include the of the . ! NA No response
For some more context, the challenge is expecting , but if you input something like this: (no ), the hint is ifvalueidelement It should check that it does not include the id. So we can change the hint to the suggestion - I would change to though: ifvalueid.`` What do you think
Your condition should check that does not include the of the element. Sounds good.
Sounds like there is a conclusion for what to change the hint to, so I am opening this for contributions

Discussion:
assert.match(code, /consts+updates*=s*(?:(s*events*)|event)s*=>s*{s*consts+elements*=s*event.targets*;?s*consts+values*=s*element.value.replace(s*/s/gs*,s*('|"|`)1s*)s*;?s*ifs*(/); ``` <del> Your `if` condition should check if `value` includes the `id` of the `element`. </del> <ins> Your `if` condition should check that `value` does not include the `id` of the `element`. </ins> ```js assert.match(code, /consts+updates*=s*(?:(s*events*)|event)s*=>s*{s*consts+elements*=s*event.targets*;?s*consts+values*=s*element.value.replace(s*/s/gs*,s*('|"|`)1s*)s*;?s*ifs*(s*!value.includes(s*element.ids*)/);