jiebi/CodeConvo huggingface dataset:
Change:
print('plain text:', text) print('encrypted text:', encrypted_text) <del> #caesar() </del> <ins> caesar() </ins> --fcc-editable-region-- ```

Discussion:
In the Building a Cipher project, comment is first mentioned in step 51: But in step 59, we actually introduce comment and its syntax: In step 51, we introduce function parameters, so I think mentioning comment here would be a little overwhelming. I think the comment introduction should either be moved to an earlier challenge or kept in step 59. If we move the comment introduction to an earlier challenge, step 51 can be kept as-is. But if we keep comment introduction in step 59, we should update step 51. Instead of asking the users to comment out the code, I wonder if we could ask them to remove the line entirely (though the code is in step 50, so it's probably a little odd to immediately remove it in the next step).
This does seems to be out of sequence. I would suggest to not comment out in step 51 and let the exception be(the resolution is there in the coming steps). This part of the instruction can be updated from: to:
If we don't ask to comment out the function call in step 51 and tell the campers they will work on fixing the error in the next steps, it would be logic to address the error in the console () and require to pass the two positional arguments to the function call in step 52. But then the function will seem to work fine, although it's still using the and variable inside its body instead of the function parameters. The alternative is to ignore the in the console for step 52, and address it directly in step 53. For that we should simply keep the function call instead of commenting it out and there is no need to swap the step order. Honestly, I don't like particularly any of these options.
Change:
## Description <section id='description'> <strong>Objective:</strong> Build a full stack JavaScript app that is functionally similar to this: <a href='http://watchstocks.herokuapp.com/' target='_blank'>http://watchstocks.herokuapp.com/</a> and deploy it to Heroku. <del> Note that for each project, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-our-dynamic-web-application-projects'>https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects</a>. </del> Here are the specific user stories you should implement for this project: <strong>User Story:</strong> I can view a graph displaying the recent trend lines for each added stock. <strong>User Story:</strong> I can add new stocks by their symbol name.

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: In some of the take home projects there is a broken link in the description - - which leads to a 404. Add a Link to the page with the problem:
Here is a breakup of the action items (can be done in parallel, by multiple contributors): . we were hoping you could point us in the right direction by helping us with the source code repo link? [ ] This Glitch project can then be published and the challenge updated with the link and the verbiage. [ ] Finally we would also need to point the link for getting started use our standard intro for other projects.
if I have the original challenge link I could start on this.
I would like to work on this .
please let me know if you are still interested in making a pull request for this issue.
Please inform on the status of the work on this issue, otherwise I would like to have a go at it.
I would like to know the status. Do we have the correct link available or not?
What is the original challenge link which attempts to link to?
please let me know once the actual link is confirmed. I would like to work on this issue.
I'm not sure where the original link is. I thought it was in Apis And Microservices in the legacy site, but I can't find it. We may have to re-create this page? It is supposed to let users know how to create a repository and deploy to heroku. For some of these apps, users can also just use glitch.
It has to be somewhere in the history on Github. When using Git, it is not possible to lose content.
I'm not sure the very latest instance of the file, but it's the best I could find. If there's a way to find the latest version, I'd love to know how! Regardless, you might be able to get some inspiration from there, but unfortunately the specifics are all out of date.
That link is in four of the take home project descriptions - I didn't see it anywhere else. Maybe we should just remove that line from them... Note that for each project, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit
Yes please.
Change:
- text: The <code>getRating(watchList)</code> should equal 8.675. testString: assert(getRating(watchList) === 8.675); - text: Your code should not use a <code>for</code> loop. <del> testString: assert(!code.match(/fors*?(.*)/g)); </del> <ins> testString: assert(!code.match(/fors*?([sS]*?)/g)); </ins> - text: Your code should return correct output after modifying the <code>watchList</code> object. testString: assert(getRating(watchList.filter((_, i) => i < 1 || i > 2)) === 8.55);

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 identified three challenges where the for loop validation does not work if newlines are used in the arguments. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: 79.0.3945.88 Operating System: Ubuntu 18.04 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! ! !
Change:
const apiProxyRE = /^/internal/|^/external//; const newsShortLinksRE = /^/internal/n/|^/internal/p?/; const loopbackAPIPathRE = /^/internal/api//; <ins> const showCertRe = /^/internal/certificate/showCert//; </ins> <del> const _whiteListREs = [newsShortLinksRE, loopbackAPIPathRE]; </del> <ins> const _whiteListREs = [newsShortLinksRE, loopbackAPIPathRE, showCertRe]; </ins> export function isWhiteListedPath(path, whiteListREs = _whiteListREs) { return whiteListREs.some(re => re.test(path));

Discussion:
Describe the bug In development certificates are unavailable unless you are logged in. To Reproduce Steps to reproduce the behavior: out of your local freeCodeCamp (either via settings or just go incognito) to http://localhost:8000/certification/developmentuser/responsive-web-design that you get redirected to http://localhost:8000 with a message 'Something is not quite right. A report has been generated and the team have been notified.' Expected behavior You should see the certificate if you have it or be redirected to settings and informed if you don't. Additional context It's possible this is fine in production and I'm just missing something. However, as far as I can see, the certification get endpoints require authentication and I don't think they should.
If this is definitely a problem, I'd be happy to take a look at it.
Change:
assert.notMatch(code, /console.log(s*rows[s*0s*]s*)/); ``` <del> You should remove your `rows[2]` reassignment. </del> <ins> You should remove your `rows[rows.length - 1]` reassignment. </ins> ```js <del> assert.notMatch(code, /rows[2]/); </del> <ins> assert.notMatch(code, /rows[s*rows.lengths*-s*1s*]/); </ins> ``` You should not remove your `console.log(rows)` statement.

Discussion:
in step 20 of the JS building a pyramid generator project, the step refers to the " rows[2] assignment" but should instead refer to the "rows[ - 1]" assignment as that is the line in the code at that moment (not the "rows[2]" line. As the step begins with the code as given above, the instructions shouldn't say "rows[2]" to refer to the line "rows[ - 1]" (therefore a small correction to the correct line of code is needed) ! Device: laptop OS: windows Browser: chrome Version: No response
Second test also will need to be changed accordingly.
Change:
while (continueLoop) { done++; rows.push(padRow(done, count)); <del> if (done === count) { </del> <ins> if (done === count) { </ins> continueLoop = false; } }

Discussion:
In the JS Beta project to build a pyramid gen., steps 82 and 83 both show an if statement block in the code editor that is not correctly indented within the while loop it is in. This may confuse new learners if they are relying on the indents to understand the logic and should be fixed to keep the presented code in acceptable shape for learners. N/A the if statement should be indented within the while loops block ! ! N/A No response
Change:
// Used from https://github.com/ckoliber/docsify-rtl/blob/master/build/docsify-rtl.js, // Currently this is a hack because can't use the plugin as is. <del> if (vm.route.path.search('Arabic') !== -1) { </del> <ins> if (vm.route.path.search('Arabic') !== -1 || vm.route.path.search('Hebrew') !== -1) { </ins> for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { var item = elements[counter]; item.dir = "rtl"; } }; <ins> if (vm.route.path.search('Arabic') === -1 && vm.route.path.search('Hebrew') === -1) { for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { var item = elements[counter]; item.dir = "ltr"; } }; </ins> return ( markdown + 'n----n' +

Discussion:
Also, if you traverse from a right-to-left language (Arabic, Chinese), then go to English, the text remains right-to-left: ! Originally posted by in
Are translations available ?. Because If I go to the page click on translation and select a language , then the language remains as english , just the LTR or RTL thing changes. <img width="960" alt="issue" src="https://user-"
Not for many of the languages yet. They still need to be translated by contributors.
Change:
<ins> import { setupServer, superRequest } from '../../jest.utils'; describe('/status', () => { setupServer(); test('GET returns 200 status code with pong', async () => { const response = await superRequest('/status/ping', { method: 'GET' }); expect(response.body).toStrictEqual({ msg: 'pong' }); expect(response.status).toBe(200); }); }); </ins>

Discussion:
This is a a health check endpoint
Check the issue of internet ping, connect with network [ ]way run of tickettttttttt....... thank
Change:
<br /> <br /> **Projects**: [Rock Paper Scissors](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors), [Cat and Dog Image Classifier](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier), [Book Recommendation Engine using KNN](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn), [Linear Regression Health Costs Calculator](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator), [Neural Network SMS Text Classifier](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier) #### Legacy Full Stack Development Certification Once you have earned the Responsive Web Design, Algorithms and Data Structures, Front End Libraries, Data Visualization, APIs and Microservices, and Legacy Information Security and Quality Assurance certifications, you'll be able to claim your freeCodeCamp.org Full Stack Development Certification. This distinction signifies that you've completed around 1,800 hours of coding with a wide range of web development tools.

Discussion:
This is a broken link. <img width="1440" alt="Screen Shot 2020-09-21 at 12 43 27 PM" src="https://user-"<img width="1148" alt="Screen Shot 2020-09-21 at 12 43 55 PM" src="https://user-"Recommended fix, suggestions (how would you update it?): Two ideas for fixing this come to mind: In the , we want to change both links to match the current application. Here is the code that should be to fix the issue: Set up routes for the old paths to redirect to the current paths. I'm unsure of exactly how to do this.
Change:
ext: Ext; name: string; history?: string[]; <ins> editableRegionBoundaries?: number[]; </ins> contents: string; };

Discussion:
1) Navigate to a multifile challenge: 2) Input some code over multiple lines: 3) Save code 4) Refresh page ! Seen in: I assume this has to do with the container defaulting to the size it is originally given (e.g. 1 line), even though the saved code spans more.
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
This is where the bounds come from. A function called in . In order to fix this, we're going to have to save the current editable region boundaries and then load from them in this function.
Hi Would using be appropriate for persisting the editable region bounds? We could potentially leverage the existing or methods to handle this, rather than writing to every time is called. Please let me know your thoughts or if there’s a better approach. Thanks!
The editable region boundaries are already persisted in local storage, as shown in the screenshot. The issue is when the editor component is mounted, it is preferring the editable regions defined in the challenge seed, as opposed to using the boundaries kept in the saved code from local storage.
Change:
Fulfill the user stories and pass all the tests below to complete this project. Give it your own personal style. Happy Coding! <ins> **Note:** When running the tests there will be a slight delay. Please wait a few seconds to allow the tests to finish. Do not refresh the page before they are done. </ins> # --hints-- You should have an `input` element with an `id` of `search-input` and is **required**.

Discussion:
When testing one camper's code it fails some tests unless I increase all the delays to 1000ms, I tested with 500ms but that was not enough. I also saw the example project fail a test but it does pass more consistently (my guess is it is just faster with fewer async functions). To be on the safe side we should have a longer delay. I know 1000ms is a lot but better safe than sorry. Tests: Valid code should not fail because of "timing" issues. 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:
As this is a bug with a certificate project I the showstopper label.
Change:
.fill-in-the-blank-wrap > p { margin: 0; <del> font-size: 1.25em; </del> <ins> font-size: 1.25rem; line-height: 1.5; </ins> } .fill-in-the-blank-input {

Discussion:
When the blanks in a fill in a blank challenge overlap vertically, the top selection box gets cut off: <img width="767" alt="Screenshot 2024-06-17 at 5 39 59 PM" src=""^ See the two blanks in the sentence are above and below one another. When you click the first blank, the blue selection box is cut off - presumably because the input below is in front of the first input. to on the first blank in the sentence the blank get cut off The box to be visible We could adjust the spacing so the input doesn't get cut off, or move the z-index of the input to the front when it's selected.
I think changing the z-index on select makes sense.
We might also consider increasing the . The lines are pretty close together. Not sure why we are using for the unit, usually is set using unitless values, which would make the we have on the elements work much better. Also, the font-size is set using for whatever reason (unlike most if not all other font styles I have seen in our CSS). Not that changing it to does anything (currently at least).
Change:
You should have a `forEach` loop that iterates through the `platforms` array. ```js <del> assert.match(code, /ifs*(.*)s*{s+platforms.forEach(s*((.*)|[^s()]+)s*=>s*{s*(.*?)s*}s*)s*;?/); </del> <ins> assert.match(code, /ifs*(.*)s*{s+platforms.forEach(s*((.*)|[^s()]+)s*=>s*{?s*(.*?)s*}?s*)s*;?/); </ins> ``` You should use the subtraction assignment operator to subtract 5 from the platform's `x` position. ```js <del> assert.match(code, /platforms.forEach(s*((s*platforms*)|platform)s*=>s*{s*platform.position.xs*-=s*5s*;?s*}s*)s*;?/); </del> <ins> assert.match(code, /platforms.forEach(s*((s*platforms*)|platform)s*=>s*{?s*platform.position.xs*-=s*5s*;?s*}?s*)s*;?/); </ins> ``` # --seed--

Discussion:
Implicitly returning the callback passed into won't pass the test. This should pass at least for this step, and the following step as well. I found out later that curly brackets are missed here. The hint/error message is also not helpful here because the code provided above does exactly what the hint asks campers to do. I suggest adding "Please use curly brackets for the callback for this step" or modifying the corresponding test. ! Device: Laptop OS: Windows 11 Browser: FireFox Version: 125.0.2 (64-bit) No response
Yes, these two steps should be updated to allow for implicit returns.
Change:
"nameEs": "Aprende como funciona Free Code Camp", "descriptionEs": [ [ <del> "http://i.imgur.com/RlEk2IF.jpg", </del> <ins> "http://i.imgur.com/6ibIavQ.jpg", </ins> "Una imagen de los 4 beneficios de Free Code Camp: Conéctate, Aprende JavaScript, Construye tu  Portafolio, Ayuda organizaciones sin ánimo de lucro", "Bienvenido a Free Code Camp. Somos una comunidad de código abierto formada por personas ocupadas quienes aprenden a programar y ayudan a organizaciones sin ánimo de lucro.", ""

Discussion:
[X] Learn how Free Code Camp Works [X] Create a GitHub Account and Join our Chat Rooms [X] Configure your Code Portfolio [X] Join a Campsite in Your City [X] Learn What to Do If You Get Stuck
Change:
"tests": [ "assert($("ul").length > 0, 'Create a <code>ul</code> element.')", "assert($("ul li").length > 2, 'You should have three <code>li</code> elements within your <code>ul</code> element.')", <del> "assert(editor.match(/</ul>/g) && editor.match(/<ul/g) && editor.match(/</ul>/g).length === editor.match(/<ul/g).length, 'Make sure your <code>ul</code> element has a closing tag.')", "assert(editor.match(/</li>/g) && editor.match(/<li[s>]/g) && editor.match(/</li>/g).length === editor.match(/<li[s>]/g).length, 'Make sure your <code>li</code> elements have closing tags.')" </del> <ins> "assert(editor.match(/</ul>/gi) && editor.match(/<ul/gi) && editor.match(/</ul>/gi).length === editor.match(/<ul/gi).length, 'Make sure your <code>ul</code> element has a closing tag.')", "assert(editor.match(/</li>/gi) && editor.match(/<li[s>]/gi) && editor.match(/</li>/gi).length === editor.match(/<li[s>]/gi).length, 'Make sure your <code>li</code> elements have closing tags.')" </ins> ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",

Discussion:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X 1075) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
The editor is highlighting your code to let you know something doesn't look right, which in this case is that you open your with uppercase and close it with lowercase. ! However, despite this being bad practice it is valid markup and should pass. I am putting in a PR to make the regular expressions case insensitive now.
Okay, thank you for the response. Will make sure to get into the habit of being deliberate with casing. Thank you.
Change:
assert.deepEqual(tokenize(testStr2, '&', '@'), res2); ``` <ins> `tokenize('hello^|world|how^are^you^|', '|', '^')` should return `['hello|world', 'howareyou|']` ```js assert.deepEqual(tokenize(testStr3, '|', '^'), res3); ``` </ins> # --seed-- ## --after-user-code--

Discussion:
Hey any more context on this issue? Seems pretty empty to be already opened with the label.
the challenge needs more tests, it's not a high priority thing, that comment has been there for a few years already
Change:
To work on the contributing guidelines, you can edit or add files in the `docs` directory [available here](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/docs). When your changes are merged, they will be made available automatically at the documentation site. <ins> When adding a new file to the `docs` directory, you should evaluate if the file should also be added to the sidebar navigation. We typically create a link in the [`_sidebar.md`](_sidebar.md) file for new and independent guides. Alternatively, You may follow the instructions below on creating an internal link for supporting guides. </ins> ### How to create an internal link If you want to create a link targeting a different section of the contributing guidelines, follow this format:

Discussion:
I noticed that the doc describing the process for updating the docs (how-to-work-on-the-docs-) doesn't explicitly say that when adding a brand new doc file, the file should be updated (or evaluated to see if the new file should be listed there). I'm not sure if 100% of new doc files should in fact get to the , but I feel it should be mentioned as a possible area that needs to be looked at when a person is adding a brand new doc file. (ps. About a month ago I created a new doc file for onboarding of mods and the PR was accepted and merged, but no change was made to the because I was unaware of it till just now... I now need to go back to modify this file to 'publish' the new doc) how-to-work-on-the-docs- N/A Update the how-to-work-on-the-docs- to call out the need to evaluate updating the specifically when creating a brand new doc file. No response
Change:
"usesMultifileEditor": true, "hasEditableBoundaries": true, "dashedName": "learn-the-date-object-by-building-a-date-formatter", <del> "order": 7, </del> <ins> "order": 8, </ins> "superBlock": "javascript-algorithms-and-data-structures-v8", "challengeOrder": [ {

Discussion:
I was going through the new JS Beta curriculum and when I got to the date formatter project I realized that it probably doesn't really help add any specific knowledge that would be useful in completing the palindrome project. I think the date formatter project being in its current position may even be a hindrance because I think it is better to get people to work on the skills they have learned sooner rather than later. My suggestion is to move the palindrome project ahead of the date formatter project for this reason. N/A N/A No response N/A No response
please assign this to me
issues are not generally assigned, and this issue has not been marked as ready for contributions.
okiee thank you
I agree. That seems like the way to go. A PR which resolves this issue, then, will swap the properties in the meta files for these two projects.