jiebi/CodeConvo huggingface dataset:
Change:
isRootPath } from './utils/redirection'; import { jwtSecret } from '../../../config/secrets'; <ins> import { availableLangs } from '../../../config/i18n/all-langs'; </ins> const passportOptions = { emailOptional: true,

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:
dashedName: relational-databases-and-sqlite --- <ins> # --description-- [Download SQLite](https://www.sqlite.org/download.html) [Download DB Browser for SQLite](https://sqlitebrowser.org/dl/) [SQLite usage](https://www.sqlite.org/famous.html) </ins> # --question-- ## --text--

Discussion:
in the challenge talks about Installing Sqlite. Should we add a link to sqlite download link, here is the file Edit: I would love to add to the next challenge as well Edit: because of first time label, I won't make pr, if you wanna tackle this. please do
I would be fine adding these. We could link right to the download page on each of those sites: &
Change:
# --description-- <del> You can have multiple self-closing `meta` elements on a web page. What distinguishes one `meta` element from the other is the attribute. You should add a new meta element for each attribute you want to specify. </del> <ins> You can have multiple self-closing `meta` elements on a web page. Each `meta` element adds information about the page that cannot be expressed by other HTML elements. </ins> Add another self-closing `meta` element within the `head`. Give it a `name` attribute set to `viewport` and a `content` attribute set to `width=device-width, initial-scale=1.0` so your page looks the same on all devices.

Discussion:
The wording on this step is a bit awkward. Based on , the wording isn't quite accurate. This resulted in the camper writing the following code: I'm not sure how to better describe this, tbh. No response System info isn't relevant for a verbiage issue (: No response
Agreed, that is clunky. Just to get the ball rolling.
is anyone working on this, but i can take this up
Hey there, This issue is still under discussion and has not been opened up for contribution yet.
Hi there, I read through the issue related to the wording in step 5 of the 'Learn CSS Colors by Building a Set of Colored Markers' challenge, and I think I might have a suggestion for how to improve the wording. Here's a revised version of the step that I came up with: 'Add a new meta element for each attribute that you want to specify. To specify the viewport attributes, add the following meta element to the head of your HTML document: <meta name='viewport' content='width=device-width, initial-scale=1.0'' I hope this helps clarify the step for other campers. Let me know if you have any feedback or if there's anything else I can do to help with this issue.
What about :
Simpler language is better. Complex sentence structure is harder for learners (and non-learners tbh) to understand. I like wording, as its close to MDN's. We really need to go on a linguistic simplification campaign though the lessons. I just haven't had the time to do so.
I like this wording, it's much clearer than the current instructions. Can I open a PR with these changes?
What did we finalize?
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: The of the challenge should be updated to the following text: 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.
Change:
"description": [ "In Javascript, <code>String</code> values are <dfn>immutable</dfn>, which means that they cannot be altered once created.", "For example, the following code:", <del> "<blockquote><code>var myStr = "Bob";<br>myStr[0] = "J";</code></blockquote>", </del> <ins> "<blockquote>var myStr = "Bob";<br>myStr[0] = "J";</blockquote>", </ins> "cannot change the value of <code>myStr</code> to "Job", because the contents of <code>myStr</code> cannot be altered. Note that this does <em>not</em> mean that <code>myStr</code> cannot be changed, just that the individual characters of a <dfn>string literal</dfn> cannot be changed. The only way to change <code>myStr</code> would be to assign it with a new string, like this:", <del> "<blockquote><code>var myStr = "Bob";<br>myStr = "Job";</code></blockquote>", </del> <ins> "<blockquote>var myStr = "Bob";<br>myStr = "Job";</blockquote>", </ins> "<h4>Instructions</h4>", "Correct the assignment to <code>myStr</code> to achieve the desired effect." ],

Discussion:
and have text in code tags within a blockquote already. The code tagged strings need to be removed. You can see them because they are highlighted again within the code block. Access MultiDimensional Arrays with Indexes: ! Understand String Immutability: !
Agreed, these just just be in the block quote.
Change:
"tests": [ "assert($("form").attr("id") === "cat-photo-form", 'Give your <code>form</code> element the id of <code>cat-photo-form</code>.')", "assert($("#cat-photo-form").css("background-color") === "rgb(0, 128, 0)", 'Your <code>form</code> element should have the <code>background-color</code> of green.')", <del> "assert(editor.match(/<form.*cat-photo-form.*>/gi) && editor.match(/<form.*cat-photo-form.*>/gi).length > 0, 'Make sure your <code>form</code> element has both an <code>id</code> attribute.')", </del> <ins> "assert(editor.match(/<form.*cat-photo-form.*>/gi) && editor.match(/<form.*cat-photo-form.*>/gi).length > 0, 'Make sure your <code>form</code> element has an <code>id</code> attribute.')", </ins> "assert(!editor.match(/<form.*style.*>/gi) && !editor.match(/<form.*class.*>/gi), 'Do not give your <code>form</code> any <code>class</code> or <code>style</code> attributes.')" ], "challengeSeed": [

Discussion:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. <img width="328" alt="screenshot 2015-08-17 14 58 06" src="""Make sure your form element has both an id attribute." if you say 'both', it would mean an id attribute AND something else, right?
On it.
Change:
"slasher([1, 2, 3], 2);" ], "tests": [ <del> "assert.deepEqual(slasher([1, 2, 3], 2), [3], 'message: <code>slasher([1, 2, 3], 2, [3])</code> should return <code>[3]</code>.');", </del> <ins> "assert.deepEqual(slasher([1, 2, 3], 2), [3], 'message: <code>slasher([1, 2, 3], 2)</code> should return <code>[3]</code>.');", </ins> "assert.deepEqual(slasher([1, 2, 3], 0), [1, 2, 3], 'message: <code>slasher([1, 2, 3], 0)</code> should return <code>[1, 2, 3]</code>.');", <del> "assert.deepEqual(slasher([1, 2, 3], 9), [], 'message: <code>slasher([1, 2, 3], 9)</code> should return <code>[]</code>.');" </del> <ins> "assert.deepEqual(slasher([1, 2, 3], 9), [], 'message: <code>slasher([1, 2, 3], 9)</code> should return <code>[]</code>.');", "assert.deepEqual(slasher([1, 2, 3], 4), [], 'message: <code>slasher([1, 2, 3], 4)</code> should return <code>[]</code>.');" </ins> ], "MDNlinks": [ "Array.slice()",

Discussion:
I think this is a Typo the that at first lead me to confusion in the Bonfire: Slasher Flick the Asserts to complete the Bonfire said slasher([1, 2, 3], 2, [3]) should return [3]. slasher([1, 2, 3], 0) should return [1, 2, 3]. slasher([1, 2, 3], 9) should return []. and I think the first one should say slasher([1, 2, 3], 2 ) should return [3]
thanks for posting this issue! Confirmed! Also this bonfire accepts this solution: which is incorrect. I think tests should check if and if so the returning value should be .
Change:
editor.on('keyup', function() { clearTimeout(codeStorage.updateTimeoutId); codeStorage.updateTimeoutId = setTimeout( <del> codeStorage.updateStorage, </del> <ins> codeStorage.updateStorage.bind(codeStorage), </ins> codeStorage.updateWait ); });

Discussion:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. The code editor does not update with the code changes. The editor retains the code I originally entered, which is not correct. I corrected my code, and passed the challenge. It gave me the success message, and incremented my task counter, but when I return to this page, it still has my original, incorrect code.
I submitted a bug When i hit run code it does not save my code. () for the chunky monkey bonfire and was referenced to this bug and it is still not fixed. so I am reopening the issue here.
It's not saving this one either:
This appears to be happening on every exercise I complete.
Change:
"nav": { "forum": "https://forum.freecodecamp.org/c/italiano/", "news": "https://freecodecamp.org/italian/news/" <ins> }, "help": { "HTML-CSS": "Italiano/HTML-CSS", "JavaScript": "Italiano/JavaScript", "Python": "Italiano/Python", "Relational Databases": "Italiano/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:
```yml tests: <del> - text: I can submit a FormData object that includes a file upload. </del> <ins> - text: I can submit a form that includes a file upload. </ins> testString: '' <del> - text: 'When I submit something, I will receive the file size in bytes within the JSON response.' </del> <ins> - text: The form file input field has the <code>name</code> attribute set to <code>upfile</code>. testString: '' - text: When I submit something, I will receive the file <code>name</code>, <code>type</code>, and <code>size</code> in bytes within the JSON response. </ins> testString: '' ```

Discussion:
The File Metadata Microservice project as part of the APIs and Microservices projects has inconsistent instructions. On the freeCodeCamp project URL: There are two user stories: I can submit a FormData object that includes a file upload. When I submit something, I will receive the file size in bytes within the JSON response. However, on the Glitch project it says: I will receive the file name, and size in bytes within the JSON response. When you try the sample Glitch project, it actually returns a JSON response with the name, file type, and size. I'd be happy to do a PR to fix this, but I wasn't sure how to best address these inconsistencies.
Thanks for bringing up this issue. I have not completed this myself, but based on the example Glitch and the boiler plate repository, I say we should update the site to be consistent with the rest. In other words, we should update the user story in with If there are any concerns, feel free to comment.
, there are many inconsistancies between the latter projects and lessons, and the tests. I suggest we open a new issue thread as a todo, and compile all of the miss-alignments. Specifically, I struggled to go through the Advanced Node and Express lessons, because of poorly done tests, and the versions not being kept up to date.
thanks for chiming in. I haven't gone through them yet so I can't be sure. I can close this issue and open a new issue for tracking inconsistencies with the five projects in "APIs and Microservices Projects". Are there any other project groups that have inconsistencies we should focus on?
Are there any other project groups that have inconsistencies we should focus on? Other than, the Information Security and Quality Assurance projects not having tests at all, no. The issue is more-so in the lessons. Over half of Advanced Node and Express do not pass without looking at the tests.
"Over half of Advanced Node and Express do not pass without looking at the tests." Is this still the case now that we've moved from Glitch to If so, would you be interested in helping us improve the instructions to make these less ambiguous?
As far as I am aware, there are still issues in the following lessons: Create New Middleware, Logging a User Out, Registration of New Users, and Authentication with I do have a PR that should solve all of the current issues around this section. It links to an updated boilerplate, as well:
Change:
# --hints-- <del> Yous should remove the code toggling the class `hidden` on `taskForm`. </del> <ins> You should remove the code toggling the class `hidden` on `taskForm`. </ins> ```js const splitter = code.split("confirmCloseDialog.close();")

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:
You previously learned about the global `Math` object. `Math` has a `.min()` method to get the smallest number from a series of numbers, and the `.max()` method to get the largest number. Here's an example that gets the smallest number from an array: ```js <del> Math.min(1, 9, 11, -3, 0.5); </del> <ins> const numbersArr = [2, 3, 1]; console.log(Math.min(...numbersArr)); // Expected output: 1 </ins> ``` Declare a `getRange` function that takes the same `array` parameter you have been using. Using `Math.min()`, `Math.max()`, and the spread operator, return the difference between the largest and smallest numbers in the list.

Discussion:
Intsruction says: Here's an example that gets the smallest number from an array: The given example, however, has nothing to do with an array; it is an example with the numbers given as input parameters. Two options, I guess either will do: this part . the example itself, by including actual array. No response Device: Laptop OS: Windows 10 Browser: Chrome No response
Let's go with the updating the example and rename the example array here too
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:** Be sure to add `<link rel="stylesheet" href="styles.css">` in your HTML to link your stylesheet and apply your CSS </ins> # --hints-- You should have an `h1` element with an `id` of `title`.

Discussion:
With the new format, a lot of people are not linking their css files to the HTML document. It is coming up a lot on the forum. Especially for those that are going through the Legacy curriculum. I think we should add a message underneath the sample projects, to remember to link the CSS file. Proposed change: Remember to link your CSS file in the HTML document. <img width="460" alt="Screen Shot 2022-05-14 at 8 57 10 AM" src="https://user-"
I had trouble fixing , because I didn't link To I hope this will be implemented
I think we should do this.
Change:
"assert((function(){if(typeof(firstLetterOfLastName) !== "undefined" && editor.getValue().match(/[0]/gi) && typeof(firstLetterOfLastName) === "string" && firstLetterOfLastName === "L"){return(true);}else{return(false);}})(), 'The first letter of firstLetterOfLastName should be a L');" ], "challengeSeed": [ <del> "var firstLetterOfLastName = "";", </del> <ins> "var firstLetterOfFirstName = "";", </ins> "var firstLetterOfLastName = "";", "", "var firstName = "Ada";",

Discussion:
The variable "firstLetterOfLastName" is declared twice and the variable "firstLetterOfFirstName" is undeclared. !
Change:
pnpm run seed ``` <del> By default, you will be signed in as a new user without any completed certifications. Run the following commands if you need to develop with completed certifications: </del> <ins> By default, you will be signed in as a new user without any completed certifications. Run the following command if you need to develop with completed certifications or write Playwright tests: </ins> ```bash pnpm run seed:certified-user

Discussion:
I had a facepalm moment when I was working on a set of Playwright tests. The tests passed locally but failed in CI, and turned out I was seeding my DB with demo user () while we seed CI with certified user (): The failure was expected then, because the tests were working with different user data. I'm now wondering if we should recommend developing with over in general. If we are okay with this, we will need to update the following section of the : <img width="1088" alt="Screenshot 2023-11-09 at 17 12 23" src=""If we still recommend developing with , then we should add a note in the following section of the to ensure is run before tests are written and executed: <img width="1074" alt="Screenshot 2023-11-09 at 17 15 49" src=""
I think most people want to use the 'new' user and we do mention , so the setup docs seem fine. However, it's definitely not correct to recommend in the Playwright guide. Seems like a simple enough fix, though: the Playwright should say .
I think updating the playwright guide would be enough - but we could add a note in the main area that says something like "Use this if you are going to run playwright tests"
Change:
close: () => dispatch(closeModal('completion')), handleKeypress: e => { if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) { <ins> e.preventDefault(); </ins> dispatch(submitChallenge()); } },

Discussion:
Describe the bug After downloading the solution, pressing the shortcut (Ctrl + Enter) should take us to the next challenge. However, it also downloads the solution. To Reproduce Steps to reproduce the behavior: a challenge on "Run the Tests" (Assuming you have passed the test cases), a modal window appears with 2 options - "Submit and go to next challenge(Ctrl + Enter)" and "Download my solution" on "Download my solution", which will download the solution in json format Ctrl + Enter is downloaded again are taken to the next challenge Expected behavior On pressing Ctrl + Enter after downloading the solution, we should be taken to the next challenge as it is the shortcut for "Submit and go to next challenge(Ctrl + Enter)". It should not download the solution again. Desktop (please complete the following information): OS: Windows 10 Home Browser: Chrome Version: 71.0.3578.98
I could reproduce the bug, and I'd like to try to fix this. Could someone help point me in the right direction?
i was also thinking of working on this issue. Would you like to work on this together? I am new to this repository as well
sure! That'll be great.
This issue happens provided the person is signed in to FCC. This bug does not happen when the user is signed out
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:** Be sure to add `<link rel="stylesheet" href="styles.css">` in your HTML to link your stylesheet and apply your CSS </ins> # --hints-- You should have a `header` element with an `id` of `header`.

Discussion:
With the new format, a lot of people are not linking their css files to the HTML document. It is coming up a lot on the forum. Especially for those that are going through the Legacy curriculum. I think we should add a message underneath the sample projects, to remember to link the CSS file. Proposed change: Remember to link your CSS file in the HTML document. <img width="460" alt="Screen Shot 2022-05-14 at 8 57 10 AM" src="https://user-"
I had trouble fixing , because I didn't link To I hope this will be implemented
I think we should do this.
Change:
assert.match(code, /<link/) ``` <del> You should have a one a self-closing `link` element. </del> <ins> You should have one self-closing `link` element. </ins> ```js assert(document.querySelectorAll('link').length === 1);

Discussion:
as ieahleen mentioned in Crowdin, there are multiple files with typos in them. they say These hints should be changed to because they are testing if there is a single self-closing 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.