jiebi/CodeConvo huggingface dataset:
Change:
* Time Complexity: <b>O(n<sup>2</sup>)</b> * Sorting in Place: <b>Yes</b> * Stable: <b>No</b> ### Visualization * [USFCA](https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html) * [HackerEarth](https://www.hackerearth.com/practice/algorithms/sorting/selection-sort/visualize/)

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:
"<blockquote>Node1: Node2, Node3<br>Node2: Node1<br>Node3: Node1</blockquote>", "Above is an undirected graph because <code>Node1</code> is connected to <code>Node2</code> and <code>Node3</code>, and that information is consistent with the connections <code>Node2</code> and <code>Node3</code> show. An adjacency list for a directed graph would mean each row of the list shows direction. If the above was directed, then <code>Node2: Node1</code> would mean there the directed edge is pointing from <code>Node2</code> towards <code>Node1</code>.", "We can represent the undirected graph above as an adjacency list by putting it within a JavaScript object.", <del> "<blockquote>var undirectedG = {<br>  Node1: ["Node2", "Node3"],<br>  Node2: ["Node1"],<br>  Node3: ["Node3"]<br>};</blockquote>", </del> <ins> "<blockquote>var undirectedG = {<br>  Node1: ["Node2", "Node3"],<br>  Node2: ["Node1"],<br>  Node3: ["Node1"]<br>};</blockquote>", </ins> "This can also be more simply represented as an array where the nodes just have numbers rather than string labels.", <del> "<blockquote>var undirectedGArr = [<br>  [1, 2], # Node1<br>  [0],    # Node2<br>  [2]     # Node3<br>];</blockquote>", </del> <ins> "<blockquote>var undirectedGArr = [<br>  [1, 2], # Node1<br>  [0],    # Node2<br>  [0]     # Node3<br>];</blockquote>", </ins> "<hr>", "Create a social network as an undirected graph with 4 nodes/people named <code>James</code>, <code>Jill</code>, <code>Jenny</code>, and <code>Jeff</code>. There are edges/relationships between James and Jeff, Jill and Jenny, and Jeff and Jenny." ],

Discussion:
Coding Interview Data Structure Questions: Adjacency List There is a typo in the description of this challenge. I actually created a YouTube video about Graphs and I used information from this challenge description in the video. Then I made a popular Medium article about Data Structures that linked to all my videos. That is when I realized the issue. People are great at pointing out your mistakes in comments on the internet. :) Here is the part with the typo. The description shows how to represent the following as JavaScript code: The code representation is incorrect. Here it is: The 4th line should actually be . And then later there is the code: The 4th line should actually be .
I would like to fix this issue myself.
Change:
## Instructions <section id='instructions'> <del> <ul><li>Set the <code>font-size</code> of the <code>h1</code> tag to 68px.</li><li>Set the <code>font-size</code> of the <code>h2</code> tag to 52px.</li><li>Set the <code>font-size</code> of the <code>h3</code> tag to 40px.</li><li>Set the <code>font-size</code> of the <code>h4</code> tag to 32px.</li><li>Set the <code>font-size</code> of the <code>h5</code> tag to 21px.</li><li>Set the <code>font-size</code> of the <code>h6</code> tag to 14px.</li></ul> </del> <ins> <p>In the <code>style</code> tags, set the <code>font-size</code> of the:</p> <ul> <li><code>h1</code> tag to 68px.</li> <li><code>h2</code> tag to 52px.</li> <li><code>h3</code> tag to 40px.</li> <li><code>h4</code> tag to 32px.</li> <li><code>h5</code> tag to 21px.</li> <li><code>h6</code> tag to 14px.</li> </ul> </ins> </section> ## Tests

Discussion:
So, I tried submitting the following code: When I ran it through the tests, all but the last one passed. Then I in what I was supposed to do without removing the inline styles: This one passed all the tests! I know we were supposed to put stuff in the style tag, but I discovered this issue because I didn't want to do so much typing. There doesn't seem to be some check in the last test that looks at inline styles, unlike the rest. Can you look into it?
Hello there, Thank you, for taking the time to open this issue. This is expected behaviour. Recently, the test for the element was changed, because the usual method of testing did not work on some browsers (Safari, if I recall). So, unless we find a better method to test all of the elements, I would not advise any of the tests being changed. However, perhaps we could change the instructions to be explicit about requiring campers to not use inline-styles. I will leave this open for others to weigh in on.
I think this is about the only thing we can currently do.
I am good with adding a note there. Something like this: That whole thing could probably be shortened to something like this maybe: I'm fine with it either way.
I like second shortened suggestion.
Any idea why it’s only the h6 that doesn’t work? I’ve made a PR with the above but wonder if removing the h6 altogether from this challenge might be slightly more elegant in lieu of not having a different way to test?
Change:
Modify your function declaration so that it takes two parameters called `message` and `offset`. <del> After that, you'll see an error appear in the terminal. As a temporary fix, comment out the `caesar()` call. </del> <ins> After that, you'll see an error appear in the terminal. You'll see how to solve it in the next steps. </ins> # --hints-- <del> You should comment out the `caesar()` function call. ```js ({test: () => assert(runPython( `not _Node(_code).find_calls('caesar')` ))}) ``` </del> Your `caesar` function should take `message` and `offset` as the parameters. Remember to separate the parameters with a comma. ```js

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:
* based off of https://github.com/gitterHQ/sidecar * license: MIT */ <ins> .map { display: flex; flex-direction: column; max-height: 90vh; } </ins> .map-aside { z-index: 20000;

Discussion:
I really do like the SideCar (I'm assuming that's what your using) Map menu! It gives really quick access to previous challenges. It would cool if the "collapse all challenges" area was fixed to top and everything would slide under it. That way, users wouldn't have to scroll all the way up or down if they're looking for something specific - they would just collapse everything and go to the specific component they're looking for.
I agree. Totally makes sense to have it fixed to the top somehow.
I'm going to start working on this now, should have a PR open shortly.
Change:
1. Once the edits have been committed, you will be prompted to create a pull request on your fork's GitHub Page. <del> ![Image - Compare pull request prompt on GitHub](./images/github/compare-pull-request-prompt.png) </del> <ins> ![Image - Compare pull request prompt on GitHub](https://contribute.freecodecamp.org/images/github/compare-pull-request-prompt.png) </ins> 2. By default, all pull requests should be against the freeCodeCamp main repo, `main` branch. Make sure that your Base Fork is set to freeCodeCamp/freeCodeCamp when raising a Pull Request. <del> ![Image - Comparing forks when making a pull request](./images/github/comparing-forks-for-pull-request.png) </del> <ins> ![Image - Comparing forks when making a pull request](https://contribute.freecodecamp.org/images/github/comparing-forks-for-pull-request.png) </ins> 3. Submit the pull request from your branch to freeCodeCamp's `main` branch.

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:
"async": "^0.9.0", "bcrypt-nodejs": "^0.0.3", "body-parser": "^1.9.3", <ins> "chai-jquery": "^2.0.0", </ins> "cheerio": "^0.18.0", "clockwork": "^0.1.1", "compression": "^1.2.1",

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --From CSS variable lesson, I just want to inform that IE doesn't supports as well as it's fallback value. It'd be great if your team will curate those lessons/challenges or add alternate CSS property with that. Started from lesson. Browser Name: Chrome Browser Version: 67+ Operating System: Windows 10
Thanks for raising this. Fallbacks as described in this lesson are not for older browsers that lack CSS variable support, they are for when the variable has not been defined yet, or otherwise not able to be resolved. The technique you mention of using a preceding more broadly supported CSS rule is also referred to as a fallback. Ideally, I think there should be two lessons, one describing each. whats the situation with adding additional lessons?
yes we are open to adding new lessons.
what did you have in mind for additional lessons? How about just a message in the first variable lesson that or something
In my opinion: needs corrected additional lesson should be after the lessons in screenshot below, lesson to show how to use this principle to form resilient css - ie fallback behaviour for css rules not understood by browser !
I'd like to work on this. Should I lump this all into on PR or separate it into two since part one is technically a fix while part two is a feature?
great! Looking forward to seeing what you come up with. I would say it's better to have two separate PRs, one for the fix and another for the new lesson.
Change:
## Instructions <section id='instructions'> <del> Use simple fields with object literals to create and return a <code>Person</code> object. </del> <ins> Use simple fields with object literals to create and return a <code>Person</code> object with <code>name</code>, <code>age</code> and <code>gender</code> properties. </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. --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:
```yml tests: - text: <code>arr2</code> should be correct copy of <code>arr1</code>. <del> testString: assert(arr2.every((v, i) => v === arr1[i])); </del> <ins> testString: assert(arr2.every((v, i) => v === arr1[i]) && arr2.length); </ins> - text: <code>...</code> spread operator should be used to duplicate <code>arr1</code>. testString: assert(code.match(/Array(s*...arr1s*)|[s*...arr1s*]/)); - text: <code>arr2</code> should remain unchanged when <code>arr1</code> is changed.

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 the challenge that I mentioned in the title there is an issue. Even when the output doesn't match with the challenge requirements but it still passes the challenge. I have linked some gifs so it is more understandable. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: 85.0.4183.121 Operating System: Windows 10 64-bit If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): The output doesn't match with the requirements but it still passes the challenge: While this is the correct code and output: This also passes the challenge:
Good catch! The first test on this page uses: A fun quirk with that I ran in to yesterday is that it returns true on an empty array. This error could likely be fixed by adding an assertion for .
Honestly I didn't know why it passed the challenge. Thank you for the explanation.
Opening this up for contributions. As mentions, we just need an additional condition in the to test that is non-zero (which means it would be truthy).
you can find in stackovervlow
Change:
"descriptionEs": [ "Compara y actualiza el inventario actual, almacenado en un arreglo bidimensional, contra otro arreglo bidimensional de inventario nuevo. Actualiza las cantidades en el inventario actual y, en caso de recibir una nueva mercancía, añade su nombre y la cantidad recibida al arreglo del inventario en orden alfabético.", "Recuerda utilizar <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/FreeCodeCamp-Get-Help' target='_blank'>Read-Search-Ask</a> si te sientes atascado. Intenta programar en pareja. Escribe tu propio código." <ins> ], "titleIt": "Aggiornamento dell'inventario", "descriptionIt": [ "Confronta e aggiorna l'inventario, contenuto in un array bidimensionale, con un secondo array bidimensionale relativo ad una nuova consegna. Aggiorna le quantità disponibili in inventario (dentro <code>arr1</code>). Se uno degli articoli non è presente nell'inventario, aggiungi allo stesso il nuovo articolo e la sua quantità. Ritorna un array con l'inventario aggiornato, che deve essere ordinato alfabeticamente per articolo.", "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:
export const devLoginRedirect = () => { return (req, res) => { <del> // this mirrors the production approach, but without any validation </del> <ins> // this mirrors the production approach, but only validates the prefix </ins> let { returnTo, origin, pathPrefix } = getRedirectParams( req, <del> params => params </del> <ins> ({ returnTo, origin, pathPrefix }) => { pathPrefix = availableLangs.client.includes(pathPrefix) ? pathPrefix : ''; return { returnTo, origin, pathPrefix }; } </ins> ); returnTo += isRootPath(getRedirectBase(origin, pathPrefix), returnTo) <del> ? 'learn' </del> <ins> ? '/learn' </ins> : ''; return res.redirect(returnTo); };

Discussion:
If I am signed in as a user while on and log out, I am redirected to the english home page. redirects to the chinese page.
wrong endpoint in server code? Thats what I would assume, but am not sure how to locate where the correct endpoint would be placed in the code.
Here is the endpoint: and most likely the issue is with the redirect "predictor" utility: However we would want to confirm the cause before we open this up for contributions.
yes, that's the issue. To fix it we can grab the from and combine that with to get the desired redirect.
Should that be done in the getRedirectParams function or should the path be put together from the data set returned by getRedirectParams in
You need to construct the URL from the values you get from the as a consumer of the function and not change its existing behavior. In simple terms the change is required within the endpoint handler.
That makes sense.
I got the codebase installed locally is there a way to run just
Not sure what you mean by running only one file? The API server is an express based application (Loopback 3). You need to start up at least the api-server app. If you want to do that, you should be able to do that by navigating to directory and using the run-script commands in its
I'm trying to figure out what gets passed in pathPrefix, from getRedirectParams, when one signs out from the Spanish page. But when running the site locally, switching to Espanol leads to a "This site can't be reached" error. Just for clarity's sake, I realize now that is not meant to be run alone and I am using the "npm run develop" command to try and recreate this bug locally. Is this a bad approach?
Ah - right. Sorry about sending you on a goose-chase. When you build locally, we do not have a way yet to develop both and at the same time alongside the API app. I am going to untag this from help-wanted and assign this instead. Oliver, you should be able to test / reproduce and recommend a fix on our staging instance - not sure because this may be needing access for "close to prod" type setup.
I was just in the process of going through the steps, when you commented Mrugesh!

I'll leave them here for the curious: Unfortunately testing locally is quite a pain, because we use since is entirely separate from . It's a bit of a slow, memory intensive process, but you can do this: in your .env file Then you can go to
Change:
The quotient variable should only be assigned once ```js <del> assert(code.match(/quotient/g).length === 1); </del> <ins> assert(code.match(/quotients*=/g).length === 1); </ins> ``` # --seed--

Discussion:
It would be nice if we allowed the camper to log out the result without having the last test fail because of it. One option might be to use code comments as delimiters to help make the regex more targeted. The camper should be allowed to log out the result without failing with the correct code. 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]
We could update the test to check for the assignment operator, instead of just a variable reference:
To fix the issue change the third test: To what Naomi suggested Here is the file for the challenge: 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 prolific contributors will guide you through this.
Can I work on this issue ? It would mean a lot
Go for it.
Can I work on this issue?
Change:
You should give `.left-mountain` a `background` of `linear-gradient(rgb(203, 241, 228), rgb(80, 183, 255))`. ```js <del> assert.include(['linear-gradient(rgb(203,241,228),rgb(80,183,255))', 'rgba(0,0,0,0)linear-gradient(45deg,rgb(118,201,255),rgb(247,255,222))repeatscroll0%0%'], new __helpers.CSSHelp(document).getStyle('.left-mountain')?.getPropVal('background', true)); </del> <ins> assert.include(['linear-gradient(rgb(203,241,228),rgb(80,183,255))', 'rgba(0,0,0,0)linear-gradient(rgb(203,241,228),rgb(80,183,255))repeatscroll0%0%'], new __helpers.CSSHelp(document).getStyle('.left-mountain')?.getPropVal('background', true)); </ins> ``` # --seed--

Discussion:
An issue was brought up in the forum where the user could not pass the challenge using firefox. They had the correct code and weren't using browser extensions. On google chrome and safari the test does pass. The test will only pass on Firefox using this code Correct answer not passing in firefox <img width="936" alt="Screen Shot 2022-01-25 at 8 44 56 AM" src="https://user-"Incorrect answer passing in firefox <img width="981" alt="Screen Shot 2022-01-25 at 8 45 31 AM" src="https://user-"- Device: [macbook pro] OS: [macOs Catalina] Browser: [Firefox] Version: [96.0.2]
Step 14 has the same issue. This is the correct code that passes in google chrome <img width="905" alt="Screen Shot 2022-01-25 at 8 57 21 AM" src="https://user-"Here is the same code but it doesn't pass with firefox <img width="915" alt="Screen Shot 2022-01-25 at 9 00 09 AM" src="https://user-"
Change:
# --instructions-- <del> Create a second `p` element after the existing `p` element with the following kitty ipsum text: `Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.` </del> <ins> Create a second `p` element with the following kitty ipsum text: `Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.` </ins> <del> Then, create a `main` element and nest the two `p` elements inside the `main` element. </del> <ins> Then, create a `main` element and nest only the two `p` elements inside the `main` element. </ins> # --hints--

Discussion:
Maybe this was done intentionally to give learning programmers more leeway. If that's not the case though, it's a bug. Describe your problem and how to reproduce it: In the -challenge, the request clearly is to add the new tag AFTER the previous p-tag. However, the following code also gets accepted as a correct solution. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Firefox Browser Version: 87.0 (64-bit) Operating System: Linux (Linux Mint) If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! !
I think this can go either way, but I'm leaning towards changing the directions, and removing the to give the more leeway for newcomers, to somewhat like: This is ofcourse just my opinion, I would love for others to pitch in...
I like the change. The less explicit version seems to better describe how the page is already behaving.
I agree that this sounds like a good change :) Maybe is the way to go, to indicate it shouldn't be over the tag.
As we do not want any confusion about what the element should wrap. I suggest the following: I am opening this up to first timers 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. 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
Sure, I'll do my best!
See . I wrote this. I changed the second line to improve it with , while still keeping it similar to the previous description.