jiebi/CodeConvo huggingface dataset:
Change:
"challengeType": 0, "nameEs": "Elige un mismo elemento con múltiples selectores jQuery", "descriptionEs": [ <del> "Ahora ya sabes tres formas de seleccionar elementos: por tipo: <code>$("button")</code>, por clase: <code>$(".btn")</code>, y por identificación <code>$("#target1")</code>. ", </del> <ins> "Ahora ya sabes tres formas de seleccionar elementos: por tipo <code>$("button")</code>, por clase <code>$(".btn")</code>, y por identificación <code>$("#target1")</code>. ", </ins> "Aunque es posible agregar varias clases en una sola llamada a <code>.addClass()</code>, vamos a añadirlas al mismo elemento de tres maneras diferentes.", <del> "Usa cada uno de los selectores jQuery vistos y la función <code>addClass()</code>:", "Agrega la clase <code>animated</code> a todos los elementos con tipo <code>button</code>.", "Agrega la clase <code>shake</code> a todos los botones con clase <code>.btn</code>.", "Agrega la clase <code>btn-primary</code> al botón con identificación <code>#target1</code>." </del> <ins> "Usa cada uno de los selectores jQuery vistos y la función <code>addClass()</code> para:", "Agregar la clase <code>animated</code> a todos los elementos con tipo <code>button</code>.", "Agregar la clase <code>shake</code> a todos los botones con clase <code>.btn</code>.", "Agregar la clase <code>btn-primary</code> al botón con identificación <code>#target1</code>." </ins> ] }, {

Discussion:
[x] Learn how Script Tags and Document Ready Work [x] Target HTML Elements with Selectors Using jQuery [x] Target Elements by Class Using jQuery [x] Target Elements by ID Using jQuery [x] Delete your jQuery Functions [x] Target the same element with multiple jQuery Selectors [x] Remove Classes from an element with jQuery [x] Change the CSS of an Element Using jQuery [x] Disable an Element Using jQuery [x] Change Text Inside an Element Using jQuery [x] Remove an Element Using jQuery [x] Use appendTo to Move Elements with jQuery [x] Clone an Element Using jQuery [x] Target the Parent of an Element Using jQuery [x] Target the Children of an Element Using jQuery [x] Target a Specific Child of an Element Using jQuery [x] Target Even Numbered Elements Using jQuery [x] Use jQuery to Modify the Entire Page
Checking
Change:
.price { text-align: right; <del> width: 25% </del> <ins> width: 25%; </ins> } --fcc-editable-region--

Discussion:
.price { text-align: right; width: 25% } Line 156 of the file within the freeCodeCamp curriculum. Impact: While functionally harmless in modern browsers, adding the semicolon improves code consistency and maintainability. Discussion: The comments on the issue highlight: It's likely a typo since other CSS rules in the challenge have semicolons. While not strictly an error, adding the semicolon for consistency is recommended. to '' on 'Code Edit' down to 'Line 156' ; at last character The default code has not ; sign In css part It does look like a typo: ! ! Device: Laptop OS: Windows 11 Browser: edge Current Status: The issue is labeled as help wanted and type: bug. Multiple pull requests have been linked that might fix this issue: Update by sharabshrestha99 fix(curriculum): typo error on css file by brunades Additional Notes: A comment offers a reference for further details on semicolons in CSS:
it's not necessarily an error, the last rule doesn't need semicolon, but it could be for consistency yeah The list of files in which this is present is (44 files): I will open this for contribution.
Some additional context on last-rule semi-colons for those who might be interested: ! But I agree that omitting it is inconsistent with other steps and so it was likely a typo and we should fix it for consistency.
is this still open? I would like to contribute
hey 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.
Change:
Going back to the information security section, you may remember that storing plaintext passwords is *never* okay. Now it is time to implement BCrypt to solve this issue. <del> Add BCrypt as a dependency, and require it in your server. You will need to handle hashing in 2 key areas: where you handle registering/saving a new account, and when you check to see that a password is correct on login. </del> <ins> Add `bcrypt@~5.0.0` as a dependency, and require it in your server. You will need to handle hashing in 2 key areas: where you handle registering/saving a new account, and when you check to see that a password is correct on login. </ins> Currently on our registration route, you insert a user's password into the database like so: `password: req.body.password`. An easy way to implement saving a hash instead is to add the following before your database logic `const hash = bcrypt.hashSync(req.body.password, 12);`, and replacing the `req.body.password` in the database saving with just `password: hash`.

Discussion:
Advanced Node and Express section needs package versions to the instructions, as discussed in: Example: " Add <codepassport.socketio</codeversion <codeX.X.X</code, <codeconnect-mongo</codeversion <codeX.X.X</code, and <codecookie-parser</codeversion <codeX.X.X</codeas dependencies and require them as <codepassportSocketIo</code, <codeMongoStore</code, and <codecookieParser</coderespectfully. " Before this is undertaken: [x] Wait for to be merged [ ] Discuss which versions to use and how to convey this ( or )
I am leaning more toward the requirement, myself. With the carat prefix, will install the latest minor version. In theory, updates to the minor version are backwards compatible and shouldn't create any issues with the tests or challenges. However, minor versions can include depreciation notices like . The feature will still work, but this could be confusing to a camper. Using the tilde prefix means will install the latest patch version, which includes bug fixes but shouldn't lead to any depreciation notices. I think this will offer the best long-term compatibility with our tests and challenge instructions.
Well, it has happened: Last versions which definitely work: I have tested this. Now, discussion: 1) Just ask for to be installed 2) Also change the lesson/code to work with this latest version?
Hey how is this show stopper coming along?
Ah yes... I have updated the label, because it should have been removed by . Can a PR automatically remove an issue's label? Otherwise, this issue is still open and help wanted , as there are many packages which need their versioning fixed. If no one else, I can slot in some time for this tomorrow.
No rush. Thanks for confirming, I have removed the assignment since this is no longer a showstopper.
thank you so much for the Thank you for the suggestion. It helped me alot
Change:
<p>Lets render this to the DOM</p> </div> ); <del> // Change code below this line </del> <ins> // Add your code below this line </ins> ``` # --solutions--

Discussion:
In module, the users are supposed to add their code after the provided code snippet. Keeping that in mind, the comment ( within the provided code snippet ) should be changed from to . In module, the provided code snippet should look as follows: ! Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110
Change:
### Implementation in C/C++ <del> #### Iterative Implementation ```C for(int i = 0; i < n-1; i++) { int min_index = i; for(int j = i +1; j < n; j++) { if(a[j] < a[min_index]) { min_index = j; } } swap(&a[i], &a[min_index]); </del> <ins> The following C++ program contains an iterative as well as a recursive implementation of the Selection Sort algoritm. Both implementations are invoked in the `main()` function. ```cpp #include <iostream> #include <string> using namespace std; template<typename T, size_t n> void print_array(T const(&arr)[n]) { for (size_t i = 0; i < n; i++) std::cout << arr[i] << ' '; cout << "n"; </ins> } <del> ``` #### Recursive Implementation ```C int minIndex(int a[], int i, int j) { if (i == j) return i; </del> <ins> int minIndex(int a[], int i, int j) { if (i == j) return i; </ins> int k = minIndex(a, i + 1, j); <ins> return (a[i] < a[k]) ? i : k; } </ins> <del> return (a[i] < a[k])? i : k; } </del> <ins> void recurSelectionSort(int a[], int n, int index = 0) { if (index == n) return; int k = minIndex(a, index, n - 1); if (k != index) swap(a[k], a[index]); recurSelectionSort(a, n, index + 1); } </ins> <del> void recurSelectionSort(int a[], int n, int index = 0) { if (index == n) return; </del> <ins> void iterSelectionSort(int a[], int n) { for (int i = 0; i < n; i++) { int min_index = i; int min_element = a[i]; for (int j = i + 1; j < n; j++) { if (a[j] < min_element) { min_element = a[j]; min_index = j; } } swap(a[i], a[min_index]); } } </ins> <del> int k = minIndex(a, index, n-1); </del> <ins> int main() { int recurArr[6] = { 100,35, 500, 9, 67, 20 }; int iterArr[5] = { 25, 0, 500, 56, 98 }; </ins> <del> if (k != index) swap(a[k], a[index]); </del> <ins> cout << "Recursive Selection Sort"  << "n"; print_array(recurArr); // 100 35 500 9 67 20 recurSelectionSort(recurArr, 6); print_array(recurArr); // 9 20 35 67 100 500 </ins> <del> recurSelectionSort(a, n, index + 1); </del> <ins> cout << "Iterative Selection Sort" << "n"; print_array(iterArr); // 25 0 500 56 98 iterSelectionSort(iterArr, 5); print_array(iterArr); // 0 25 56 98 500 </ins> } ```

Discussion:
Looking for anyone proficient with C/C++ to review the imperative and declarative implementations of the algorithm in . Ideally, any person reading the guide should be able to copy this code into a file or site like and be able to compile and run the code as-is - perhaps adding a function and a test array would help make this work and help users understand better. please add any additional comments/concerns you would like addressed as well.
I already have a link that I made to test the recursive selection sort implementation snippet in that file by a PR. This link has the working code with a test array and output logs. I'll make a PR with the code I have. Since the iterative implementation just provides the body of the loop, I think I can create a function for the iterative version, and make my "main" call this too, thereby demonstrating both approaches.
Change:
<title>{t('misc.email-signup')} | freeCodeCamp.org</title> </Helmet> <Grid className='default-page-wrapper email-sign-up'> <ins> <Spacer /> </ins> <SectionHeader>{t('misc.email-signup')}</SectionHeader> <Row> <del> <IntroDescription /> </del> <Col md={8} mdOffset={2} sm={10} smOffset={1} xs={12}> <ins> <IntroDescription /> </ins> <strong>{t('misc.quincy')}</strong> <Spacer /> <p>{t('misc.email-blast')}</p>

Discussion:
In email signup page text is not structured refer to that attached images If we add "div class="intro-description" style=" padding:0 15px; "" it would look much good Before & after images ! !
can i work on this ? i'm a first time contributor
I didn't see the comment and pr you generated . so also made the pr as both of them are based on what I wrote earlier while raising issue this got du[licated
It is great that you are eager to contribute to the code base, but this issue/feature has not been triaged yet. So, no decision has been made as to the appropriate course of action - whether anything needs to be changed and how. This means PRs might not be needed, or changes are likely needing to be made to them. An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. 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
Thanks a lot for your guidance
I am fine with fixing this up in some way. I left a review on the PR with some thoughts.
People that want to work on this can follow this PR- / comment
Change:
--- id: 56bbb991ad1ed5201cd392cb <del> title: Manipulate Arrays With push() </del> <ins> title: Manipulate Arrays With push Method </ins> challengeType: 1 videoUrl: 'https://scrimba.com/c/cnqmVtJ' forumTopicId: 18237

Discussion:
Describe the bug Having special character in the slug, title, or heading of the challenges lead to broken structure as shown in the image below. Originally reported by ! These challenges are the translation of these. ! Although we can not add them in the Arabic translation, this is a fix to the side effect, because Arabic isn't the only RTL language with translation efforts. I think it's better to not include special characters in the heading, if they aren't wrapped in spaced, example 'the Logical And Operator &&'. So I suggest two solutions: Delete special character, if they aren't wrapped around spaces, like change "push()" to "push". Add code block around functions and methods, to be something like .
Would it be acceptable to spell these out a little more? Instead of We could do Not only do we get rid of the special characters but it possibly makes it a little clearer for people listening to the page.
In translation, that's perfectly fine . Good call.
Change:
assert.equal(allSongs[0].duration, "4:25"); ``` <del> Your `allSongs` array should have an object with an `src` property set to the string `"https://cdn.freecodecamp.org/curriculum/js-music-player/scratching-the-surface.mp3"`. </del> <ins> Your `allSongs` array should have an object with a `src` property set to the string `"https://cdn.freecodecamp.org/curriculum/js-music-player/scratching-the-surface.mp3"`. </ins> ```js assert.equal(allSongs[0].src, "https://cdn.freecodecamp.org/curriculum/js-music-player/scratching-the-surface.mp3");

Discussion:
I noticed that we are using both "a attribute" and "an attribute" in challenge descriptions. And we even use both in the same challenge (): <img width="596" alt="Screenshot 2024-05-21 at 22 44 29" src=""I think both are acceptable, since the articles depend on how we pronounce "src" ("es-ar-see" vs "source"), but I think we should stick to one for consistency. I'll let native English speakers make the call
I always pronounce it as , so I vote
I'm with Jessica on this one. The second sentence should be changed to .
This issue is open to first-time code contributors to this repository. The files that you should be updating are: Please make sure you read our as well as 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 everyone. This is a great pick up! I am happy to help out there and will get a initial PR up for review today :)
I have reviewed the changes made in PR, all the related file have been fixed correctly and checked locally.
Hello, This is my first Open source contribution so if you guys can give me feedback on what i did wrong and how i should correct it please guide me. from the seven files mentioned above, I have created pull request for each one which is as below. sorry if i messed up, as it is my first try. I am actively looking for any advice, suggestion, criticism. Thank You.
Change:
print('encrypted text:', encrypted_text) caesar() <del> --fcc-editable-region-- </del> ```

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:
# --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.

Discussion:
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
Change:
<ins> // executes the given code and handles the result var run = function(code) { var result = { input: code, output: null, error: null, type: null }; try { var codeExec = runHidden(code); result.type = typeof codeExec; result.output = stringify(codeExec); } catch(e) { result.error = e.message; } application.remote.output(result); }; // protects even the worker scope from being accessed var runHidden = function(code) { var importScript = function(url) { var error = null; try { importScripts(url); } catch (e) { error = e; console.log('Unable to load ramda!'); } }; var indexedDB = null; var location = null; var navigator = null; var onerror = null; var onmessage = null; var performance = null; var self = null; var webkitIndexedDB = null; var postMessage = null; var close = null; var openDatabase = null; var openDatabaseSync = null; var webkitRequestFileSystem = null; var webkitRequestFileSystemSync = null; var webkitResolveLocalFileSystemSyncURL = null; var webkitResolveLocalFileSystemURL = null; var addEventListener = null; var dispatchEvent = null; var removeEventListener = null; var dump = null; var onoffline = null; var ononline = null; importScript("https://cdn.jsdelivr.net/ramda/0.10.0/ramda.min.js"); var _ = R; return eval(code); } // converts the output into a string var stringify = function(output) { var result; if (typeof output == 'undefined') { result = 'undefined'; } else if (output === null) { result = 'null'; } else { result = JSON.stringify(output) || output.toString(); } return result; } application.setInterface({run:run}); </ins>

Discussion:
the first line in the function says - it wont pass testing unless you change it to Browser Name: Firefox Browser Version: 60.0.1 Operating System: High Sierra ! <hr!
You don't have to it, but because of strict mode it does need to be declared with , , or .
so its missing the then?
That's how I would update it.

i am suspecting another small bug, the next challenge after succesful code run in Bonfire: Chunky Monkey actually points to itself
Change:
"La presentación amigable debería usar nombres de meses en inglés en lugar de números y fechas ordinales en lugar de cardinales ("1st" en lugar de "1").", "No presentes información redundante o que pueda ser inferida por el usuario: si el rango de fechas termina en menos de un año desde la fecha incial, no presentes el año final.  Si el rango termina en el mismo mes de la fecha inicial, no presentes ni el mes ni el año final.", "Además, si el rango de fechas comienza en el año actual y termina en un año o menos, no debes presentar el año al comienzo del rango amigable." <ins> ], "titleIt": "Intervalli di date leggibili", "descriptionIt": [ "Converti un intervallo di date composto da due date in formato <code>YYYY-MM-DD</code> in un formato più leggibile.", "Il formato leggibile deve usare i nomi dei mesi (in inglese) e le i numeri dei giorni in formato ordinale invece che cardinale (sempre in inglese. Ad esempio <code>1st</code> invece di <code>1</code>).", "Non mostrare informazioni ridondanti o che siano ricavabili dall'utente: se l'intervallo di date termina in <em>meno di un anno</em> da quando inizia, non mostrare l'<em>anno in cui l'intervallo termina</em>.", "In più, se l'intervallo di date incomincia nell'<em>anno corrente</em> (siamo nell'anno 2016) e finisce nel giro di un anno, l'anno non deve essere mostrato all'<em>inizio</em> del risultato.", "Se l'intervallo di date finisce nello <em>stesso mese</em> in cui incomincia, non mostrare l'<em>anno di termine nè il mese</em>.", "Esempi:", "<code>makeFriendlyDates(["2016-07-01", "2016-07-04"])</code> deve ritornare <code>["July 1st","4th"]</code>", "<code>makeFriendlyDates(["2016-07-01", "2018-07-04"])</code> deve ritornare <code>["July 1st, 2016", "July 4th, 2018"]</code>.", "Ricorda di usare <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Leggi-Cerca-Chiedi</a> se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te." </ins> ] }, {

Discussion:
Advanced Algorithm Scripting () Translate the challenge Advanced Algorithm Scripting in Italian
I'll be working on this
Change:
id: bad87fee1348bd9aede08830 title: Create a Form Element challengeType: 0 <del> videoUrl: 'https://scrimba.com/p/pVMPUv/cmQ3Kfa' </del> forumTopicId: 16817 ---

Discussion:
After some discussion on the forum, it was concluded the following challenges need the removed from the the frontmatter of the challenge files.
I am first timer to contribute it. please help with it. We need to remove the from right.
Yes and the same goes for the other challenge too.
Thank you for your contribution. For future reference, you can make changes to multiple files on the same. Also, you really should make your changes on a different branch than to avoid soiling it. I suggest taking a look at our documentation on when you want to work on more complex PRs.