jiebi/CodeConvo huggingface dataset:
Change:
"nav": { "forum": "https://forum.freecodecamp.org/c/portugues/", "news": "https://freecodecamp.org/portuguese/news/" <ins> }, "help": { "HTML-CSS": "Portugues/HTML-CSS", "JavaScript": "Portugues/JavaScript", "Python": "Portugues/Python", "Relational Databases": "Portugues/Relational Databases" </ins> } }

Discussion:
As we are now rolling out the curriculum in Chinese and Spanish, we need to think about how to get the button to work for the two languages. Currently, when the button is clicked, the user is taken to the English forum () where a pre-populated topic message (in English) is displayed for the user to fill in with relevant information. These topics are dynamically generated before the post is created on the forum, so we will just need to make use of the file for the content of the topics. Also, we will need to route to the correct forum url for Chinese and target the correct subforum for Spanish.
So the Chinese links work correctly, because the Chinese forum is hosted at a different domain (which is passed in to the environment variable). For Espanol, as it currently stands the category comes from the value returned by the .
Change:
You should use `Math.floor()` to round the result down to the nearest whole number. ```js <del> assert.match(code, /consts+randomDices*=s*Math.floors*(s*Math.randoms*(s*)s**s*6s*)s*/); </del> <ins> assert.match(code, /consts+randomDices*=s*Math.floors*((?s*Math.randoms*(s*)s**s*6s*)s*/); </ins> ``` You should add `1` to the end result of your `randomDice` variable. ```js <del> assert.match(code, /consts+randomDices*=s*Math.floors*(s*Math.randoms*(s*)s**s*6s*)s*+s*1s*/); </del> <ins> assert.match(code, /consts+randomDices*=s*Math.floors*((?s*Math.randoms*(s*)s**s*6s*)s*+s*1)?s*/); </ins> ``` # --seed--

Discussion:
Valid code will fail and give the wrong assert message about using which is confusing. Expected If you search for articles on you will find many of the examples has the min value inside the method, this includes MDN, fCC news articles, etc. The min value should be allowed inside the floor method. Update the regex that checks for to not depend on the rest of the code structure to avoid false positives. Tests: Valid code should pass and not throw unrelated assert messages. 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:
Change:
- text: Your <code>incrementer</code> function should take an argument. testString: assert(incrementer.length === 1); - text: Your <code>incrementer</code> function should return a value that is one larger than the <code>fixedValue</code> value. <del> testString: const newValue = incrementer(fixedValue); assert(newValue === 5); </del> <ins> testString: const __newValue = incrementer(fixedValue); assert(__newValue === 5); </ins> ```

Discussion:
Describe your problem and how to reproduce it: The following code does not pass, because the test has a variable name which is the same: Solution: Change variable name of from: to To make it less likely someone uses the same variable name.
Hey! I am a beginner in open source programming. Can I take this issue up? Thanks.
, Yes you may have a go at this. To begin, you should go through the , if you have not already. Some things to highlight: We do not typically assign issues If an issue has help wanted or first timers only labels, then they are open for contribution The first PR which closes the issue will be accepted If you have any questions about contributing in general, or setting up fCC locally, the , and the are excellent places to start.
Change:
You can respond to requests with a file using the `res.sendFile(path)` method. You can put it inside the `app.get('/', ...)` route handler. Behind the scenes, this method will set the appropriate headers to instruct your browser on how to handle the file you want to send, according to its type. Then it will read and send the file. This method needs an absolute file path. We recommend you to use the Node global variable `__dirname` to calculate the path like this: ```js <del> absolutePath = __dirname + relativePath/file.ext </del> <ins> absolutePath = __dirname + '/relativePath/file.ext' </ins> ``` # --instructions--

Discussion:
Currently, the instructions in the module, which happens to be a part of the module ( of the course ), suggest the following as the value of the variable: For the sake of more clarity, I think the value of the variable should be as follows: NOTE: There should a forward slash ( ) before the and should be enclosed within quotes because that particular part is supposed to be a string. The value of the variable should be as follows: NOTE: There should a forward slash ( ) before the and should be enclosed within quotes because that particular part is supposed to be a string. <img width="794" alt="image" src="https://user-"- Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110 No response_
Change:
<details><summary>Installing MailHog on Windows</summary> <del> Download the latest version of MailHog from [MailHog's official repository](https://github.com/mailhog/MailHog/releases). Locate and click on the link for your Windows version (32 or 64 bit) and a .exe file will be downloaded to your computer. </del> <ins> Download the latest version of MailHog from [MailHog's official repository](https://github.com/mailhog/MailHog/releases). Locate and click on the link for your Windows version (32 or 64 bit) and a `.exe` file will be downloaded to your computer. </ins> When the download completes, click to open the file. A Windows firewall notification may appear, requesting access permission for MailHog. A standard Windows command line prompt will open where MailHog will be running once firewall access is granted. <del> Close MailHog by closing the command prompt window. To start MailHog again, click on the MailHog executable (.exe) file that was downloaded initially - it is not necessary to download a new MailHog installation file. </del> <ins> Close MailHog by closing the command prompt window. To start MailHog again, click on the MailHog executable (`.exe`) file that was downloaded initially - it is not necessary to download a new MailHog installation file. </ins> Start [using MailHog](#using-mailhog).

Discussion:
Describe the bug there are situations in which you need to add special character (like ) which is fine, but for RTL the direction is reverted so the placement of the special character is reverted, as well. Here is the file Likely we have the CSS property to fix this, we simply need the element to wrap that word so we can apply them. To fix this issue wrap the , between markdown code, like this , so the sentence will be something like this 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 moderators will guide you through this.
There is a second mentioning of .exe in this sentence if it changed to too, that would be awesome
Hi, Has this issue been assigned to someone? If not, could you please assign this to me?
We don't assign issues, feel free to open PR after reading our docs
Change:
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin'); <del> exports.onCreateWebpackConfig = ({ stage, plugins, actions }) => { </del> <ins> exports.onCreateWebpackConfig = ({ stage, actions }) => { </ins> const newPlugins = [ <del> plugins.define({ HOME_PATH: JSON.stringify( process.env.HOME_PATH || 'http://localhost:3000' ) }), </del> // We add the shims of the node globals to the global scope new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer']

Discussion:
While Gatsby allows us to create globals in we also make use of for that purpose. We should DRY this out and use one ( seems the best). See
Change:
# --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>')

Discussion:
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.
Change:
- text: Your code should not rely on any kind of loops (<code>for</code> or <code>while</code> or higher order functions such as <code>forEach</code>, <code>map</code>, <code>filter</code>, or <code>reduce</code>.). testString: assert(!removeJSComments(code).match(/for|while|forEach|map|filter|reduce/g)); - text: You should use recursion to solve this problem. <del> testString: assert(removeJSComments(sum.toString()).match(/sum(.*).*{.*sum(.*).*}/s)); </del> <ins> testString: assert(removeJSComments(sum.toString()).match(/sum(.*)/g).length > 1); </ins> ``` </section>

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: I can't get the challenge to pass even when I use the solution from the get a hint page. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: firefox Browser Version: 69.0.3 (64-bit) Operating System: linux mint 19 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
I can reproduce this with same Firefox version. On latest Chrome, it is working well.
ok, so I can get it to work in chrome. but still not in firefox for me.
Seems like a bug with firefox - I get this this error... <img width="357" alt="Screen Shot 2019-10-20 at 9 13 36 AM" src="https://user-"should be a valid flag. So that's why the solution passed our tests, but is failing in firefox. This will be a problem anywhere else we used the flag. Fortunately, it's not something that is used in many other places, if any.
Open bug report on Bugzilla about the flag - Doesn't look like it will be implemented anytime soon.
Change:
```yml tests: <del> - text: 'the output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.' testString: 'assert(() => {const res={name:"Zodiac Hasbro",age:56,gender:"male"}; const person=createPerson("Zodiac Hasbro", 56, "male"); return Object.keys(person).every(k => person[k] === res[k]);}, ''the output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.'');' - text: No <code>:</code> were used. testString: getUserInput => assert(!getUserInput('index').match(/:/g), 'No <code>:</code> were used.'); </del> <ins> - text: 'The output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.' testString: 'assert((() => {const res={name:"Zodiac Hasbro",age:56,gender:"male"}; const person=createPerson("Zodiac Hasbro", 56, "male"); return Object.keys(person).every(k => person[k] === res[k]);})(), ''The output is <code>{name: "Zodiac Hasbro", age: 56, gender: "male"}</code>.'');' - text: No <code>key:value</code> were used. testString: getUserInput => assert(!getUserInput('index').match(/:/g), 'No <code>key:value</code> were used.'); </ins> ```

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --1) Add any code into the challenge field (other than a valid solution) that will not result in a syntax error. 2) Run the tests Expected result: The test should fail Actual result: The test passes Browser Name: Firefox Browser Version: 61.0 Operating System: 10.12.6 !
The problem is this test in the : It returns true if returns an object with no keys, or just not-an-object. I assume we should really be using something like to check the expected object and the user's output object are the same.
Working on a fix.
Change:
description, instructions, introPath, <ins> isChallengeCompleted, </ins> guideUrl, nextChallengePath, prevChallengePath,

Discussion:
In the new beta (currently at ), it would be great if a challenge page indicated somehow when the challenge has already been completed. Currently, since user inputed code is not saved, there is no indication on a challenge page that it has already been completed.
We need a check mark in the title or a badge or to indicate the same?
The most elegant thing I can think of to have something like the little circular check mark next to the title like how it is on the learn homepage - only if it's been solved, and don't show anything if it hasn't.
That would be a nice way to handle it. Please go forth if you are interested in this?
Change:
## Proofread Translations <del> ![Image - Proofreading View](./images/crowdin/proofread.png) </del> <ins> ![Image - Proofreading View](https://contribute.freecodecamp.org/images/crowdin/proofread.png) </ins> <!--Add proofread/crowdsource button to the image-->

Discussion:
! Our local images currently do not render in the translated documentation views. This is due to the use of a relative link, which breaks with the new path generated for i18n pages. A couple of potential fixes: Use an absolute link (<filename). This, IMHO, is the most effective. Have translators fix the link in the translation flow. Host the images through our CDN and fetch them.
We should use the absolute path.
Sounds good. I'll get a PR up shortly.
Change:
## Instructions <section id='instructions'> <del> The <code>positionData</code> variable holds a 3-dimensional (3D) array. Use a D3 method to find the maximum value of the z coordinate (the third value) from the arrays and save it in the <code>output</code> variable. <strong>Note</strong><br>Fun fact - D3 can plot 3D arrays. </del> <ins> The <code>positionData</code> array holds sub arrays of x, y, and z coordinates. Use a D3 method to find the maximum value of the z coordinate (the third value) from the arrays and save it in the <code>output</code> variable. </ins> </section> ## Tests

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: I'd like to submit a suggestion for a clarification in the explanation used in the following lesson: The instructions in this lesson refer to variable which is defined as: The lesson describes this as being a 3d array: This is misleading as positionData is not a 3-dimensional array but a 2d array. A 3d array could not be mapped to a 2d representation like a table: A 3d array would have a structure like: I think this should be considered for rewording less it lead to a misunderstanding. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Firefox Browser Version: 73.0.1 (64-bit) Operating System: Windows 10 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
How about this... I would also get rid of the and sentence.
Good suggestion. I think this still conveys the author's intended message without potentially misleading the student's understanding of what constitutes a dimension in the context of an array. Edit: also agree WRT the - I don't think this adds anything enlightening.
If anyone wants to make a PR using Tom's suggestion, it would be very welcome.
I'd like to take this issue
Looks like has already created a PR for this issue.
Missed it
Change:
challengeFiles: SavedChallengeFiles; }; <ins> // TODO: remove unused properties and stop returning them from api? (e.g. // history, ext, name) </ins> export type SavedChallengeFile = { fileKey: string; ext: Ext;

Discussion:
Code in the doesn't seem to be evaluated in production for Cash Register project. (Edit)This appear to be related to the code saving / resetting. In development there isn't such issue. Including building production client and serving it. This is actually the only challenge from the new challenges that is using . Old challenges are working fine when using . Both when names start with ` might be somehow deciding factor, but there isn't any other new challenge to check that. After adding function to user code, error moves normally to the next used in test non-defined variable - and then . Steps to reproduce the behavior: (Be logged in, and have previously saved code for project). to solution. Example: tests. errors. Code present in the should be evaluated after the user code, and before running tests. (Edit) When logged out there's different error, or no errors at all(?!). This might be somehow related to saving / resetting code.
Thanks again for the detailed report, You were dead right about the issue: it's due to the fact that saved challenges don't include head or tail (aka and ) and we were just using them in place of challengeFiles (which does have that stuff).
I have marked this as a showstopper seeing as it is affecting camper's ability to complete a certificate project. It would be nice to get the fix in as soon as possible, so the forum isn't filled with support threads for this.
Change:
} .fill-in-the-blank-input { <ins> font-family: monospace; </ins> padding: 0; text-align: center; background-color: var(--primary-background);

Discussion:
In the fill in the blank challenges, the size of the blanks are based on the number of characters in that blank. It's 11px per letter, plus an additional 11px buffer - This works pretty good, but sometimes you get a word with really wide letters and it doesn't fit: <img width="774" alt="Screenshot 2024-06-17 at 5 36 44 PM" src=""^ You can see is a little too wide to fit because it has wide letters. Other times, you have a bunch of narrow letters like with in the image. That fits, but there's more space on each side than needed. The challenge I noticed this on is still in beta, so you will have to run the repo with upcoming changes shown to see this specific one - but you can see it in any of the fill in the blank challenges. to http://localhost:8000/learn/a2-english-for-developers/learn-how-to-document-code-for-a-project/task-38 in the first blank that one of the letters gets cut off. The in firefox, the in Chrome. So browsers are handling it differently. in the third blank the extra space in the input before and after the word. See the image above The answers to fit in the blanks better. I think the solution I would prefer is to make a map of the letters and their spacing and make the size of the input based on what letters are in the answers. Or perhaps just a default size of the 11px or something, and a small group of narrow letters that get maybe 8, and small group wide letters that get maybe 13 or something. Or perhaps we could use a monospace font.
Not sure why, but this is what it looks like for me (Chrome, and in incognito/on Windows). ! Also, the text color doesn't seem to change to white in night mode.
I don't think monospace fonts are quite the answer; at least not itself. ! Sure it's fine for say the word "When" but for "descriptive", it's a little bigger than the blank.
I'm only using the font for the blanks, but the point remains the same.
I think using 14 maxlength will be be a better solution. before : ! after !
That's not a viable solution.

That's hard-coding a value for this one specific input. They're dynamically generated we can't do that.
I think this is the way to go. Then we can reliably know the size of every character, space our inputs accordingly, and we get the feature of visual feedback when a word is too long for that blank.
This is because the spacing is configured for 11px wide characters. I'd be willing to bet that monospace font is bigger. :)
Change:
[ "http://i.imgur.com/EoTfOyC.jpg", "An image of some of our campers coding together in Montreal.", <del> "Keep practicing coding every day and hanging out with other people who code, and you will becoming a job-ready coder.", </del> <ins> "Keep practicing coding every day and hanging out with other people who code, and you will become a job-ready coder.", </ins> "" ], [

Discussion:
Should be "become" I would fix it but I'm not sure where this file is located. !
closed. Fixed with
Change:
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`.

Discussion:
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.
Change:
const allUser = { ..._.pick(user, publicUserProps), isGithub: !!user.githubProfile, <del> isLinkedIn: !!user.linkedIn, </del> <ins> isLinkedIn: !!user.linkedin, </ins> isTwitter: !!user.twitter, isWebsite: !!user.website, points: progressTimestamps.length,

Discussion:
Add a URL to the linkedIn input in your settings When viewing while logged in to your account... <img width="208" alt="Screen Shot 2019-10-23 at 11 05 37 AM" src="https://user-"Not logged in to your own account... <img width="195" alt="Screen Shot 2019-10-23 at 11 05 33 AM" src="https://user-"I can reproduce this on firefox and chrome, and locally and production.