jiebi/CodeConvo huggingface dataset:
Change:
return { state: 'success', message: '' }; } else { return { <del> state: 'warning', </del> <ins> state: 'error', </ins> message: 'We could not validate your email correctly, ' + 'please ensure it is correct'

Discussion:
Describe the bug For field in , error state can not be triggered. Warning state will be triggered when an email address with incorrect domain is entered (for example: ). For all fields in , both error and success state can not be triggered. To Reproduce Steps to reproduce the behavior: to http://localhost:8000/settings to fill and to Describe the bug Expected behavior For field in , error state should be triggered instead of warning state. There should only be two states for an email address. Success state is when it is a valid and reachable email address. Error state is when it is an invalid and unreachable email address. For all fields in . Success state is when it is a valid and reachable URL. Error state is when it is an invalid and unreachable URL. Desktop (please complete the following information): OS: Windows 10 1809 Build .832 Browser Latest Chrome Version 77.0.3865.120 (Official Build) (64-bit)
Calling to discuss this from issue . What do you think about this? Are there anything to add or change from the Expected Behavior I described?
the only thing I'm not sure about is 'unreachable'. Do you just mean unreachable because the URL is malformed? Like , for example. If so, then I completely agree. cc
Yes of course. 'Unreachable' is only defined by malformed email format ( valid length, etc) and URL format (protocol, colon, double slash, etc). It is also possible to check the top level domain part against current existing TLD programatically. Other than that, for example checking real email address which is existing should be done by email confirmation / verification.
Change:
A strategy is a way of authenticating a user. You can use a strategy for allowing users to authenticate based on locally saved information (if you have them register first) or from a variety of providers such as Google or GitHub. For this project, we will set up a local strategy. To see a list of the hundreds of strategies, visit Passport's site [here](http://passportjs.org/). <del> Add `passport-local` as a dependency and add it to your server as follows: `const LocalStrategy = require('passport-local');` </del> <ins> Add `passport-local@~1.0.0` as a dependency and add it to your server as follows: `const LocalStrategy = require('passport-local');` </ins> Now you will have to tell passport to **use** an instantiated LocalStrategy object with a few settings defined. Make sure this (as well as everything from this point on) is encapsulated in the database connection since it relies on it!

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:
"Font size is controlled by the <code>font-size</code> CSS property, like this:", "<blockquote>h1 {<br>&nbsp;&nbsp;font-size: 30px;<br>}</blockquote>", "Create a second <code>p</code> element with the following kitty ipsum text: <code>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</code>", <del> "Inside the same <code>&#60;style&#62;</code> tag that we created for your <code>red-text</code> class, set the <code>font-size</code> of all <code>p</code> elements to 16 pixels (<code>16px</code>)." </del> <ins> "Inside the same <code>&#60;style&#62;</code> tag that we created for your <code>red-text</code> class, set the <code>font-size</code> of all <code>p</code> elements to 16 pixels (<code>16px</code>).", "<strong>Note</strong><br>Due to browser implementation differences, you may need to be at 100% zoom to pass the tests on this challenge." </ins> ], "challengeSeed": [ "<style>",

Discussion:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Hmm, I can't repro this. Do you have your browser zoomed in at all? Have you tried any other browsers?
Hey Itegman, Thanks for the response, yes my browser was size at 75%. After setting zoom to 100% the challenged passed.
Closing as a duplicate of . We've got a PR up now that will add a warning about needing to be 100% zoom for this particular challenge.
Change:
date: new Date().toLocaleDateString("en-US", { timeZone: "UTC", weekday: "short", month: "short", day: "2-digit", year: "numeric" <ins> }).replaceAll(',', '') </ins> }; const addRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST',

Discussion:
Please check this commit: There is a missing }) on line 524! Should look like this: ! 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
Thanks for opening this issue. This looks 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 intended change appears to be: 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.
Hi is anyone working on this issue? If not can I fix it?
Thanks for mentioning the issue. Its seems really easy to fix and I see some pull requests are already there. I am also looking for my first contribution but as per the ethics I should not create pull request for this issue.
Hi, is it still open can i work on it
Change:
The Redux store should initialize with a `state` of 0. ```js <del> assert(store.getState() === 0); </del> <ins> assert(_store.getState() === 0); </ins> ``` Dispatching `incAction` on the Redux store should increment the `state` by 1.

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --<!-- Add a link to the coding challenge with the problem. -- <!-- Copy and paste the code from the editor that you used in between the back-ticks below: --<!-- Add a clear and concise description of what you expected to happen. --This should be accepted as a correct answer, as it solves the challenge. <!-- Please complete the following information. --- Device: PC OS: Windows 10 Browser: Firefox Version: 97.0.1 <!-- Add any other context about the problem here. --The problem arises if the user tries to test their Redux store functionality After checking the source code of the challenge, the problem seems to be the method used to check if user initiated state correctly or not found in This is resulting in a false assert because the user has modified their state (with Tests) I don't know of a way to assert that the user initialized state other than the way mentioned above Maybe add a note that the user should remove their tests before checking their answer? Sorry if this was mentioned before, but I didn't find it so decided to open the issue.
Rather than adding note, more convenient might be creating new store during the test, off the , and checking initial state of that one.
I agree with gikf's suggestion here. We could create an section under and declare a which we could pass to the tests.
Change:
showToolPanel: false })} notes={<Notes notes={notes} />} <del> preview={<StepPreview disableIframe={resizing} />} </del> <ins> preview={ <StepPreview disableIframe={resizing} previewMounted={previewMounted} /> } </ins> testOutput={ <Output defaultOutput={defaultOutput} output={output} /> }

Discussion:
On the initial loading of a Step the preview is showing in the preview pane, but if you either open the preview in the pop-out window or toggle the preview pane off/on then the preview does not load again. All Steps in New RWD preview in pop-out window (preview does not load) page Preview button to toggle preview pane off/on (preview does not load) Preview should load in both pop-out window and after the preview pane has been toggled off/on. No response Verified with Chrome/Firefox on both Linux and Win11. Possibly related to issue , but I think this is newer and slightly different.
Just discovered that if you make any change in the editor (such as adding a single space) then the preview will refresh and display again. But you have to do that every time you either open the pop-out window or toggle the preview pane.
When the preview is blank the iframe attributes are not updated either (which makes sense I guess, it looks to be the default values). Blank before updating: After updating: It feels like a state issue.
The preview also disappears if you toggle the Instructions on any of the certification projects.
Yes, that's a separate issue. I dig around at this a bit, seems to have caused the problem. Before it, these issues aren't present.
Change:
], "tests": [ "assert((/cat photos/gi).test($("a").text()), 'Your <code>a</code> element should have the <code>anchor text</code> of "cat photos"')", <del> "assert(/http://catphotoapp.com/gi.test($("a").attr("href")), 'You need an <code>a</code> element that links to <code>http&#58;//catphotoapp.com<code>.')", </del> <ins> "assert(/http://catphotoapp.com/gi.test($("a").attr("href")), 'You need an <code>a</code> element that links to <code>http&#58;//catphotoapp.com</code>.')", </ins> "assert(editor.match(/</a>/g) && editor.match(/</a>/g).length === editor.match(/<a/g).length, 'Make sure your <code>a</code> element has a closing tag.')" ], "challengeSeed": [

Discussion:
In this lesson: In the second requirement the is included in the code tag markup which indicates it should be part of the href. It's minor but wrong and confusing for people new to html.
Change:
assert.match(code, /taskData.forEach(s*/) ``` <del> You should destructure `id`, `title`, `date`, `description` as the parameters of the callback of your `forEach()`. </del> <ins> You should use `{id, title, date, description}` as the destructured parameters of the `forEach()` callback function. </ins> ```js assert.match(code, /taskData.forEach(s*(s*{s*(?:ids*,s*titles*,s*dates*,s*description)|(?:titles*,s*ids*,s*dates*,s*description)|(?:dates*,s*ids*,s*titles*,s*description)|(?:ids*,s*dates*,s*titles*,s*description)|(?:titles*,s*dates*,s*ids*,s*description)|(?:dates*,s*titles*,s*ids*,s*description)|(?:dates*,s*titles*,s*descriptions*,s*id)|(?:titles*,s*dates*,s*descriptions*,s*id)|(?:descriptions*,s*dates*,s*titles*,s*id)|(?:dates*,s*descriptions*,s*titles*,s*id)|(?:titles*,s*descriptions*,s*dates*,s*id)|(?:descriptions*,s*titles*,s*dates*,s*id)|(?:descriptions*,s*ids*,s*dates*,s*title)|(?:ids*,s*descriptions*,s*dates*,s*title)|(?:dates*,s*descriptions*,s*ids*,s*title)|(?:descriptions*,s*dates*,s*ids*,s*title)|(?:ids*,s*dates*,s*descriptions*,s*title)|(?:dates*,s*ids*,s*descriptions*,s*title)|(?:titles*,s*ids*,s*descriptions*,s*date)|(?:ids*,s*titles*,s*descriptions*,s*date)|(?:descriptions*,s*titles*,s*ids*,s*date)|(?:titles*,s*descriptions*,s*ids*,s*date)|(?:ids*,s*descriptions*,s*titles*,s*date)|(?:descriptions*,s*ids*,s*titles*,s*date)s*}/)

Discussion:
Step 22 of build a Todo app can use a better a hint or a short reminder on destructuring if one can be into the instructions. If we forget to put the curly braces around the parameter names to destructure them, the hint only says: You should destructure id, title, date, description as the parameters of the callback of your forEach(). A better hint would be I think parameter destructuring was only covered once before this project. (though I may recall that incorrectly) here: Either a better hint or a reminder of parameter destructuring in the instructions would be helpful. No response N/A No response
Hello. I would like to work on this issue. Please assign this to me.
Let's go with this text.
Change:
"description": [ "One way to think of a <dfn>multi-dimensional</dfn> array, is as an <em>array of arrays</em>. When you use brackets to access your array, the first set of bracket refers to the entries in the outer-most array, and each subsequent level of brackets refers to the next level of entries inside.", "<strong>Example</strong>", <del> "<blockquote>var arr = [<br>    [1,2,3],<br>    [4,5,6],<br>    [7,8,9],<br>    [[10,11,12], 13, 14]<br>];<br><code>arr[0]; // equals [1,2,3]</code><br><code>arr[1][2]; // equals 6</code><br><code>arr[3][0][1]; // equals 11</code></blockquote>", </del> <ins> "<blockquote>var arr = [<br>    [1,2,3],<br>    [4,5,6],<br>    [7,8,9],<br>    [[10,11,12], 13, 14]<br>];<br>arr[0]; // equals [1,2,3]<br>arr[1][2]; // equals 6<br>arr[3][0][1]; // equals 11</blockquote>", </ins> "<h4>Instructions</h4>", "Read from <code>myArray</code> using bracket notation so that myData is equal to <code>8</code>" ],

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:
Your character class should be `0-9`. ```js <del> assert.match(dollarRegex.source, /[0-9]/); </del> <ins> assert.match(dollarRegex.source, /[0-9] dollars/); </ins> ``` Your `dollarRegex` should match `1 dollars`.

Discussion:
Challenge passes with regex that's only partially fulfilling requirements from instructions. Expected solution is: However challenge can be completed with only the part. Challenge should not pass when regex checks just if number is included. No response n/a No response
Change:
## Solution: ```javascript let username = "JackOfAllTrades"; <del> let userCheck = /^[a-z]{2,}d*$/i; </del> <ins> const userCheck = /^[a-z]([0-9]{2,}|[a-z]+d*)$/i; </ins> let result = userCheck.test(username); ``` ## Explain: <del> 1. The only numbers in the username have to be at the end. `d$` There can be zero or more of them at the end. `*` ```javascript /d*$/; ``` 2. Username letters can be lowercase and uppercase. `i` ```javascript /d*$/i; ``` 3. Usernames have to be at least two characters long. `{2,}` A two-letter username can only use alphabet letter characters. `^[a-z]` ```javascript /^[a-z]{2,}d*$/i; ``` </del> <ins> 1. `^` - start of input 2. `[a-z]` - first character is a letter 3. `[0-9]{2,0}` - ends with two or more numbers 4. `|` - or 5. `[a-z]+` - has one or more letters next 6. `d*` - and ends with zero or more numbers 7. `$` - end of input 8. `i` - ignore case of input </ins>

Discussion:
Describe your problem and how to reproduce it: Solution to this challenge doesn't take into account that: Three-or-more-character usernames with a single alphabet letter character at the beginning are obviously the solution as well. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: Version 71.0.3578.98 (Official Build) (64-bit) Operating System: Ubuntu Mate 16.04 LTS If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
I suggest this solution: Obviously, my solution uses positive lookahead (studied few challenges forward in the curriculum).
If my understanding is correct, from this description: "1) The only numbers in the username have to be at the end. There can be zero or more of them at the end." it sounds like you cannot mix letters and digits together. So if you have 3 or more letters, but only 1 at the beginning, that means that the rest have to be mixed with other numbers, and this is the reason is not covered in the solution. The fact that your solution passes, could be an issue in the test cases maybe. What do you think? I am willing to fix this once we can decide whether the description & solutions are wrong, or the test cases.
I mistakenly wrote letter instead of character in three-or-more-character. I corrected it. You can check my solution in a website like regexr with the examples of usernames. Thanks for showing interest!
This challenge was recently updated. The solution to the challenge file... This can be put in the guide.
Change:
# --description-- <del> Create a `random` property. This property should use the first two numbers from an array to generate a random whole number. The range for this number starts at the smaller positive number (inclusive) among the first two numbers and ends just before the sum of these two numbers. Use the `Math.floor()` and `Math.random()` methods for the calculation. </del> <ins> Create a `random` property. This property should use the first two numbers from an array to generate a random whole number. The range for this number starts at the first number (inclusive) of the two and ends just before the sum of these two numbers. Use the `Math.floor()` and `Math.random()` methods for the calculation. </ins> # --hints--

Discussion:
The instructions for step 102 of the spreadsheet project (js beta) want us to "use the first two numbers from an array to generate a random whole number." They also say that "The range for this number starts at the smaller positive number (inclusive) among the first two numbers and ends just before the sum of these two numbers." However, looking at the solution, no effort is made to sort out which number is smallest before finding the random value. This tells me that this step is assuming we know that the array is in ascending sorted order. I would like the step to just say this explicitly. For eg it could say: Create a random property. This property should use the first two numbers from an array that has been sorted in ascending order to generate a random whole number. (the change is I said 'an array that has been sorted in ascending order') Or, we could just not care in what order the random number gets generated? (and change the instructions to say to get a random number between the first two numbers of the array regardless of which one goes first?) N/A instructions can be more explicit or checks can be more lenient No response N/A No response
I wrote about this also on discord - I'm not sure why the constraint to have the first number smaller. There's no reason to not allow first number to be higher than second one. Both will give number from different, valid ranges: -number from to . -number from to .
Yeah, I'd just update the text to say:
Change:
If `myVal` is equal to `10`, the equality operator returns `true`, so the code in the curly braces will execute, and the function will return `Equal`. Otherwise, the function will return `Not Equal`. In order for JavaScript to compare two different <dfn>data types</dfn> (for example, `numbers` and `strings`), it must convert one type to another. This is known as Type Coercion. Once it does, however, it can compare terms as follows: ```js <del> 1   ==  1 1   ==  2 1   == '1' "3" ==  3 </del> <ins> 1   ==  1  // true 1   ==  2  // false 1   == '1' // true "3" ==  3  // true </ins> ``` <del> In order, these expressions would evaluate to `true`, `false`, `true`, and `true`. </del> # --instructions-- Add the equality operator to the indicated line so that the function will return the string `Equal` when `val` is equivalent to `12`.

Discussion:
The student has to go all the way down up to the explanation "In order, these expressions would evaluate to true, false, true, and true." to realize what the result of the operations is. My suggestion is that the second section of the code should look like this: 1 == 1 // true 1 == 2 // false 1 == '1' // true "3" == 3 // true instead of the screenshot attached. <!-- Add a link to the coding challenge with the problem. -- <!-- If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. --!
I would be fine with this change. Any interest in making a PR for it
, Can I? I don't know how to do it and I have never done it in my life, but besides that, I would like to do it by myself using some guide you could give me. I have never used GitHub in the past. And this will help me to contribute even more to this awesome project.
We have some . It may look a little intimidating, but if you follow the instructions it's not bad. The file where this needs to be fixed is Technically, you can edit the file on github and make a PR from there - which can work for some simple fixes, but you can't see and test your changes. I think we would accept those if you want to do that, but I would recommend setting the project up locally at some point if you want to contribute regularly. To be clear, we usually like to get second opinion before making changes like this - since we don't have that, I can't guarantee a PR would be merged - but I think others would be fine with the change so if you want to make a PR, go ahead.
This change seems good. For context, we got rid of a lot of comments since we'd need to translate them. However, these are keywords and don't need translation.
shall I take this up?
Could you clarify if this is actually what we wanted, because this is exactly what we removed 12 months ago in:
Yes, this is okay because these instances specifically are only keywords that don't get translated anyway.