jiebi/CodeConvo huggingface dataset:
Change:
Right now we have multiple tests that shouldn't be needed. We speculated that it might be leftover tests from a step getting split up into two steps (I didn't check). I suggest we keep tests 1 and 6 and replace 2-5 with a single test. Related issue/PR Replace granular tests with a single "do not touch this" test. 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:
# --hints-- <del> Your code should only have one anchor (`a`) element. ```js assert(document.querySelectorAll('a').length === 1); ``` The `p` element should still have the anchor (`a`) element inside of it. ```js assert($('p > a').length); ``` The link's `href` value should be `https://freecatphotoapp.com`. You have either omitted the `href` value or have a typo. </del> <ins> Your code should only have one paragraph (`p`) element. </ins> ```js <del> const nestedAnchor = $('p > a')[0]; assert( nestedAnchor.getAttribute('href') === 'https://freecatphotoapp.com' ); </del> <ins> assert.isTrue(document.querySelectorAll('p').length === 1); </ins> ``` <del> The link's text should be `cat photos`. You have either omitted the text or have a typo. </del> <ins> Your code should only have one anchor (`a`) element. </ins> ```js <del> const nestedAnchor = $('p > a')[0]; assert( nestedAnchor.innerText.toLowerCase().replace(/s+/g, ' ') === 'cat photos' ); </del> <ins> assert.isTrue(document.querySelectorAll('a').length === 1); </ins> ``` <del> The `p` element content visible in the browser should be `See more cat photos in our gallery.` Double check the text, spacing, or punctuation of both the `p` and nested anchor element. </del> <ins> Do not make any changes to the elements you created in the previous step. </ins> ```js <del> const pText = document .querySelector('p') .innerText.toLowerCase() .replace(/s+/g, ' '); assert(pText.match(/see more cat photos in our gallery.?$/)); </del> <ins> assert.strictEqual(document.querySelector('p').innerHTML, 'See more <a href="https://freecatphotoapp.com">cat photos</a> in our gallery.') </ins> ``` There should not be `cat photos` text below the `p` element.
Change:
The active editor for step 9 is currently one empty line placed within the ruleset. Since the instructions above the editor are relatively long it makes it hard to see the selector, which has the potential to confuse people and cause them to unnecessarily add it again (I just dealt with a forum post that did this exact thing). In step 8 we have the active editor include the entire ruleset and leave a blank line for the new property to be . I would suggest we do the same thing for step 9, and leave three blank lines if possible since we are asking for three new properties to be . Step 10 and 11 also have a similar issue, but they are only changing the values of existing properties, so perhaps this is not as big an issue for those steps? I'm fine with keeping them as they are now. In the forum post the selector was again resulting in the following CSS: Have the active editor encompass the entire ruleset and leave three empty lines for the three new properties. No response N/A No response
Hey ! This change makes sense. I have looked through the forum and have seen the issue with campers getting confused. So it would be easy enough to fix. I will do a quick write up with the suggested changes and open it up for contribution I vote to leave steps 10 and 11 as they are for now, just because I haven't seen that pop up to much on the forum.
I am opening this up for first timer contributors since it is small fix. Please make sure to read the and first. Here is the file you will be working with You will need to change the editable region to include the entire ruleset It should produce this result which will make it clearer for campers what changes they will need to add. <img width="902" alt="Screenshot 2023-10-28 at 10 06 22 AM" src=""NOTE we do not assign issues. If you are interested in working on this, then read through the contributing docs and create a PR Happy contributing!
atempt

Discussion:
background-color: #c9d2fc; } <ins> --fcc-editable-region-- </ins> .cat-head { <del> --fcc-editable-region-- --fcc-editable-region-- </del> background: linear-gradient(#5e5e5e 85%, #45454f 100%); width: 205px; height: 180px; border: 1px solid #000; border-radius: 46%; } <ins> --fcc-editable-region-- </ins> ```
Change:
I've seen CI failing with the following error multiple times: <img width="1680" alt="Screenshot 2023-11-06 at 15 33 10" src=""The error can be seen here: I'm not sure if this is also an issue in /learn, but here is the link to the challenge: Link to the code: I haven't tried reproducing the issue locally, but I think running multiple times on that challenge would surface it. The test should always pass.
When it's a random failure like this, it means that the loop-protect timeout has been exceeded. Unless the solution algorithm is obviously terrible (and it isn't to me), then I think it's fine to delete the offending test.
At one point there was trying to go through the various solutions and optimize them, maybe he can take a look here too? Or just let do without that test.
I fixed up the ones with prime numbers. I can take a look at this one and see if a better algorithm is out there

Discussion:
# --solutions-- ```js <del> function countingFractionsInARange(limit) { let result = 0; const stack = [[3, 2]]; while (stack.length > 0) { const [startDenominator, endDenominator] = stack.pop(); const curDenominator = startDenominator + endDenominator; if (curDenominator <= limit) { result++; stack.push([startDenominator, curDenominator]); stack.push([curDenominator, endDenominator]); </del> <ins> class PrimeSeive { constructor(num) { const seive = Array(Math.floor((num - 1) / 2)).fill(true); const upper = Math.floor((num - 1) / 2); const sqrtUpper = Math.floor((Math.sqrt(num) - 1) / 2); for (let i = 0; i <= sqrtUpper; i++) { if (seive[i]) { // Mark value in seive array const prime = 2 * i + 3; // Mark all multiples of this number as false (not prime) const primeSquaredIndex = 2 * i ** 2 + 6 * i + 3; for (let j = primeSquaredIndex; j < upper; j += prime) { seive[j] = false; } } </ins> } <ins> this._seive = seive; } isPrime(num) { return num === 2 ? true : num % 2 === 0 ? false : this.isOddPrime(num); } isOddPrime(num) { return this._seive[(num - 3) / 2]; } }; const primeSeive = new PrimeSeive(12001); function countingFractionsInARange(num) { const moebius = Array(num + 1).fill(1) // Generate Moebis function terms for (let i = 2; i <= num; i++) { if (!primeSeive.isPrime(i)) continue; for (let j = i; j <= num; j += i) moebius[j] *= -1; for (let j = i * i; j <= num; j += i * i) moebius[j] = 0; } // Evaluate totient sum let sum = 0; for (let i = 1; i <= num; i++) { const coeff = Math.floor(num / i - 2); sum += moebius[i] * Math.floor(coeff * coeff / 12 + 0.5); </ins> } <del> return result; </del> <ins> return sum; </ins> } ```
Change:
I was looking at and I wonder if we should improve the legibility of that heading text as well. The default Bootstrap isn't great here. The font used with makes it harder to read in my opinion. Here is the Modal with and the default for the heading. ! And here is the original ! Any challenge with "Get Help" Open the Modal Better legibility of the heading text. 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
! Isn't it already correct?
I don't know what you mean by correct. I'm suggesting changing the and to make it easier to read. I'm talking about the with the Read-Search-Ask link in it to be clear. It is less of an issue in light mode than dark mode but I still think the legibility can be improved by the suggested changes.
I don't think it's hard to read, but it does feel a little condensed and I do think it looks better with a little more space. With the space, we may not need to make the adjustments to the link underlines.
If the text "looks better" chances are it "reads better". And yes, the line height should also help with the underline issue.

Discussion:
padding-bottom: 10px; } <ins> .help-modal-heading { line-height: 1.5; font-weight: 400; word-spacing: -0.4ch; } </ins> @media screen and (max-width: 767px) { .help-modal .btn-lg { font-size: 16px;

</Modal.Title> </Modal.Header> <Modal.Body className='help-modal-body text-center'> <del> <h3> </del> <ins> <h3 className='help-modal-heading'> </ins> <Trans i18nKey='learn.tried-rsa'> <a href={RSA}
Change:
I had a facepalm moment when I was working on a set of Playwright tests. The tests passed locally but failed in CI, and turned out I was seeding my DB with demo user () while we seed CI with certified user (): The failure was expected then, because the tests were working with different user data. I'm now wondering if we should recommend developing with over in general. If we are okay with this, we will need to update the following section of the : <img width="1088" alt="Screenshot 2023-11-09 at 17 12 23" src=""If we still recommend developing with , then we should add a note in the following section of the to ensure is run before tests are written and executed: <img width="1074" alt="Screenshot 2023-11-09 at 17 15 49" src=""
I think most people want to use the 'new' user and we do mention , so the setup docs seem fine. However, it's definitely not correct to recommend in the Playwright guide. Seems like a simple enough fix, though: the Playwright should say .
I think updating the playwright guide would be enough - but we could add a note in the main area that says something like "Use this if you are going to run playwright tests"

Discussion:
### 1. Ensure that MongoDB and Client Applications are Running <del> - [Start MongoDB and seed the database](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database) </del> <ins> - [Start MongoDB and seed the database](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database). In order for Playwright tests to work, be sure that you use the `pnpm run seed:certified-user` command. </ins> - [Start the freeCodeCamp client application and API server](how-to-setup-freecodecamp-locally.md#step-4-start-the-freecodecamp-client-application-and-api-server)

- Seed the database ```bash <del> pnpm run seed </del> <ins> pnpm run seed:certified-user </ins> ``` - Develop the server and client

pnpm run seed ``` <del> By default, you will be signed in as a new user without any completed certifications. Run the following commands if you need to develop with completed certifications: </del> <ins> By default, you will be signed in as a new user without any completed certifications. Run the following command if you need to develop with completed certifications or write Playwright tests: </ins> ```bash pnpm run seed:certified-user
Change:
<img width="810" alt="image" src="" all the trophy challenges night theme to the exam page UI to be legible. No response Browser: Chrome <details<summaryLight theme is fine</summary<img width="742" alt="image" src=""</details
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
Hey I would like to work on this. Can you tell me the file that I will be working with?
Hey how can we complete the trophy challenges when working in the dev environment?
To test locally, I just alter the database to have the relevant challenges in the array. That is, I , but I now see we have a flag.
Taking a look at this, I noticed that the flag doesn't work. should fix that. Also, it was that the surveys and exams get seeded when you run the seed command. So to see that alert - you need to seed the trophy challenges, and then delete the collection.
The The fix is to import from instead of and give the component a prop and you should be able to remove the prop. I only played with it for a short time, but I think this will fix it all up.

Discussion:
<del> import { Button, Panel } from '@freecodecamp/react-bootstrap'; </del> import React from 'react'; import { connect } from 'react-redux'; import { bindActionCreators, Dispatch } from 'redux'; import { useTranslation } from 'react-i18next'; <ins> import { Panel, Button } from '@freecodecamp/ui'; </ins> import { openModal } from '../../redux/actions'; import Spacer from '../../../../components/helpers/spacer'; import SurveyModal from './survey-modal';

const { t } = useTranslation(); return ( <del> <Panel data-cy='c-sharp-survey-alert' bsStyle='info'> </del> <ins> <Panel variant='info' data-cy='c-sharp-survey-alert'> </ins> <Panel.Heading>{t('survey.foundational-c-sharp.title')}</Panel.Heading> <Panel.Body className='text-center'> <p>{t('survey.misc.two-questions')}</p> <Spacer size='small' /> <Button block={true} <del> bsSize='md' bsStyle='info' </del> <ins> variant='info' </ins> data-cy='start-csharp-survey-btn' <del> className='btn-invert' </del> onClick={openSurveyModal} type='button' >
Change:
The instructions do not state clearly where the new element should be . I believe they are relying on the fact that the previous two steps a element to the end of the div and thus they assume the user will continue this trend in step 55. But I just ran into a forum post that the element after the div, so I'm not sure that's a safe assumption. Step 54 tells the user to add the element "Below your last element" and I think we should do the same thing here. N/A Change the beginning of the instructions to read: "Below your last element, add another element with the text..." 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
Quick question, do you think we have a typo in the instruction as well?
Yes, you're correct. The phrase "so to have it aligned to the left" can be revised to "to have it aligned to the left" for a better concise expression.
When will be waiting for triage label removed
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.
Hi, do you think the sentence could be made more effective by removing the redundant phrase 'span element' that occurs twice in the same line?
I agree that the "in a span element" part is redundant and should be removed, but I'm not sure about the extra comma there as it makes the sentence disjointed. We might want to just ditch the commas altogether:
Agreed. Two commas seem to break the sentence unnecessarily. I already raised a PR () suggesting the removal of the redundant part, which was not merged. Should I push changes in the same PR, or create a new one?

Discussion:
# --description-- <del> Add another `p` element with the text `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Also add an additional `span` element to wrap the `Total Carbohydrate 37g` text in a span element so to have it aligned to the left, and `13%` to the right. </del> <ins> Below your last `p` element, add another `p` element with the text `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Also add an additional `span` element to wrap the `Total Carbohydrate 37g` text in a span element to have it aligned to the left, and `13%` to the right. </ins> # --hints--
Change:
The instructions do not state clearly where the new element should be . I believe they are relying on the fact that the previous two steps a element to the end of the div and thus they assume the user will continue this trend in step 55. But I just ran into a forum post that the element after the div, so I'm not sure that's a safe assumption. Step 54 tells the user to add the element "Below your last element" and I think we should do the same thing here. N/A Change the beginning of the instructions to read: "Below your last element, add another element with the text..." 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
Quick question, do you think we have a typo in the instruction as well?
Yes, you're correct. The phrase "so to have it aligned to the left" can be revised to "to have it aligned to the left" for a better concise expression.
When will be waiting for triage label removed
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.
Hi, do you think the sentence could be made more effective by removing the redundant phrase 'span element' that occurs twice in the same line?
I agree that the "in a span element" part is redundant and should be removed, but I'm not sure about the extra comma there as it makes the sentence disjointed. We might want to just ditch the commas altogether:
Agreed. Two commas seem to break the sentence unnecessarily. I already raised a PR () suggesting the removal of the redundant part, which was not merged. Should I push changes in the same PR, or create a new one?

Discussion:
# --description-- <del> Below your last `p` element, add another `p` element with the text `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Also add an additional `span` element to wrap the `Total Carbohydrate 37g` text in a span element to have it aligned to the left, and `13%` to the right. </del> <ins> Below your last `p` element, add another `p` element with the text `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Also add an additional `span` element around the `Total Carbohydrate 37g` text to have it aligned to the left and `13%` to the right. </ins> # --hints--
Change:
Multiple CSS selectors are valid for this challenge, but only passes the tests. My code passes the tests. No response Device: Laptop OS: Windows 11 Browser: Edge Version: 119 Related: ,
I think the best thing to do here would be to query the DOM for the element directly, check the resulting colour from the query, and assert it is the colour we expect.
Before : ! After Adding the CSS block : ! The color changes, but the cant proceed forward successfully. I wish to contribute
Umm, I'm having second thoughts about this issue. Is it by design that the challenges only check one or two answers? I've seen few other complaints so maybe the vast majority of campers don't have a problem. Don't fix what's not broken, as they say...
I've heard it said before here that valid code should always pass. Ya, you don't need all of those elements in the selector list to change this link color, but the instructions are ambiguous enough that they don't say you can't have them. Granted, most people aren't going to get that detailed, but I have seen more than a few times in the forum where people used or for this step and can't figure out why it isn't passing, even though the hint is telling them to just use . So I do think this step should be fixed and suggestion is right on. Unless we want to change the instructions to require that they only use the element in the selector list.
This issue is open for contribution. The file that you should be updating is Requirements: Remove the "You should use an element selector." test Replace with in the "You should give the element a color of ." test Please make sure you read our as well as our from a pull request, 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:
# --hints-- <del> You should use an `a` element selector. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('a')); ``` </del> You should give the `a` element a `color` of `#dfdfe2`. ```js <del> assert.equal(new __helpers.CSSHelp(document).getStyle('a')?.color, 'rgb(223, 223, 226)'); </del> <ins> const linkElement = document.querySelector("a"); assert.equal(window.getComputedStyle(linkElement)?.color, 'rgb(223, 223, 226)'); </ins> ``` # --seed--
Change:
When writing Python code in the editor, it would can be a bit frustrating for campers to keep track of the indentation specially if the instructions are a bit wordy. Also, the tests would fail in case indentation is incorrect. It would be a good feature to provide assistance within the browser editor to maintain indentation. A good example is how VSCode provides markers: ! No response

Discussion:
selectionHighlight: false, overviewRulerBorder: false, hideCursorInOverviewRuler: true, <del> renderIndentGuides: false, </del> <ins> renderIndentGuides: props.challengeType === challengeTypes.python, </ins> minimap: { enabled: false },
Change:
I realize it is probably just an oversimplification but the part that may need correction is. I think this should say the handler is called when the promise becomes fulfilled. Or something to that effect. More precise verbiage. 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: Specs/MDN:
I'd say something like: I think mentioning the might get confusing.
The thing is, it takes two callbacks. An and the optional . So we may have to make the distinction. The name is just the spec definition. It might be less confusing if we show the signature. I pretty much just stole the text from MDN. I think we are far enough into the curriculum that a little technical lingo isn't the worst. It might be a bit verbose although it explains it better if you ask me.
I could go with that, yeah.

Discussion:
# --description-- <del> Promises are most useful when you have a process that takes an unknown amount of time in your code (i.e. something asynchronous), often a server request. When you make a server request it takes some amount of time, and after it completes you usually want to do something with the response from the server. This can be achieved by using the `then` method. The `then` method is executed immediately after your promise is fulfilled with `resolve`. Here’s an example: </del> <ins> Promises are most useful when you have a process that takes an unknown amount of time in your code (i.e. something asynchronous), often a server request. When you make a server request it takes some amount of time, and after it completes you usually want to do something with the response from the server. This can be achieved by using the `then` method. ```js Promise.prototype.then(onFulfilled, onRejected) ``` The `then` method schedules callback functions for the eventual completion of a Promise - either fulfillment or rejection. One of the `onFulfilled` and `onRejected` handlers will be executed to handle the current promise's fulfillment or rejection. When the promise is fulfilled with `resolve` the `onFulfilled` handler is called. </ins> ```js myPromise.then(result => {