Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. The following will pass the test: Note: it's missing a at the end of it Im thinking this is a flaw with it rendering it on the fly creating the dom elements even if it's not complete? But it leads to a false sense of being done when you really aren't done with the element to pass it. Subjective I guess depending on your view of it?
new url
This is not passing for me. Has this been fixed? EDIT: okay yeah, it IS passing for me.
should apparently fix it. I have no idea how to add regex to the challenge, so is someone willing to test this out?
I will take a look into it, please feel free to assign the issue to me. EDIT: I've got some changes together to fix the issue.

"assert($("img").length === 2, 'You should have a total of two images.')", "assert(editor.match(/<img/g) && editor.match(//g).length === 2 && editor.match(/<img/g).length === 2, 'Make sure your new img element has a closing angle bracket.')", "assert($("img").hasClass("img-responsive"), 'Your new image should have the class img-responsive.')",  "assert(new RegExp("http://bit.ly/fcc-running-cats", "gi").test($("img.img-responsive").attr("src")), 'Add a second image with the src of http://bit.ly/fcc-running-cats.')"   "assert(new RegExp("http://bit.ly/fcc-running-cats", "gi").test($("img.img-responsive").attr("src")), 'Your new image should have a src attribute of http://bit.ly/fcc-running-cats.')"  ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. In the Challenge it ask that "use "Lobster" as their font family, but degrade to the "Monospace" font when the "Lobster" font isn't available" but if you write the other way in the CSS you can pass the challenge. !
I found the corresponding line but I don't know what does and why has such strange input, so I'm not sure how to fix this ticket. Perhaps split the css value string by into an array and make sure the item with "monospace" has a higher index than the item with "lobster".
assert is part of the test library fcc uses. So in this case the tests like you were saying should be for example: assert($('h2').css('font-family').toLowerCase().replace(' ', '').split(',')[0].match(/lobster/i) assert($('h2').css('font-family').toLowerCase().replace(' ', '').split(',')[1].match(/monospace/i)
Please note that both and are legal, so one should probably first split with only and then .
it doesn't really change the result but sure!

"Now try commenting out your call to Google Fonts, so that the "Lobster" font isn't available. Notice how it degrades to the "Monospace" font." ], "tests": [ <del> "assert($('h2').css('font-family').match(/lobster/i), 'Your h2 element should use the font "Lobster".')", "assert($('h2').css('font-family').match(/monospace/i), 'Your h2 element should degrade to the font "Monospace" when "Lobster" is not available.')" </del> <ins> "assert($('h2').css('font-family').match(/^"?lobster/i), 'Your h2 element should use the font "Lobster".')", "assert($('h2').css('font-family').match(/lobster"?,monospace/i), 'Your h2 element should degrade to the font "Monospace" when "Lobster" is not available.')" </ins> ], "challengeSeed": [ "<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. Below is link to screen. Issue is that even after deleting the --that ends the comment, I am not allowed to go to my next challenge ! Uncomment HTML Uncomment your h1, h2 and p elements. Commenting is a way that you can leave comments within your code without affecting the code itself. Commenting is also a convenient way to make code inactive without having to delete it entirely. You can start a comment with <!-- and end a comment with --. Less information Go to my next challenge (ctrl + enter) Help Bug Make your h1 element visible on your page by uncommenting it. Make your h2 element visible on your page by uncommenting it. Make your p element visible on your page by uncommenting it. Be sure to delete the --that ends the comment. 1 <!--2 <h1Hello World</h13 <!--4 <h2CatPhotoApp</h25 <!--6 <br7 <!--8 <pHello Paragraph</p
The problem is that you still have a few comments, , in your code, and the test cases check to make sure you don't have any trailing comment tags, in there. I'll submit a PR in a second that slightly alters the words used in the waypoint, but I'm not sure it should be necessary.
Thx Lumen! Just so I'm clear, I need to delete ' <!--' all throughout the code?
Exactly :)
Fixed in

"assert($('h1').length > 0, 'Make your h1 element visible on your page by uncommenting it.')", "assert($('h2').length > 0, 'Make your h2 element visible on your page by uncommenting it.')", "assert($('p').length > 0, 'Make your p element visible on your page by uncommenting it.')",  "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete the --> that ends the comment.')"   "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete all trailing comment tags, i.e. -->.')"  ], "challengeSeed": [ "


Question:
Task no. 7, says: "You can view the portfolio pages of any camper who has posted links or comments on Camper News. Just click on their photo." However, clicking a photo simply licks back to the homepage. Clicking their username links to their profile. So the instruction needs to be updated.
Thank you for finding and reporting this! I went the other way and fixed the bug instead of the instructions, seemed more appropriate ;)
No problem. Glad I could help.


Question:
This should have all four elements in the final array but it does not. Have to beef up the validation on the tests.
Correct code for testing purposes.
It looks like this is for

"assert.deepEqual(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');",  "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');"   "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"  ], "MDNlinks": [ "Comparison Operators",


Question:
Having experienced some issues in correctly understanding what is actually requested in the instructions of Bonfire , I'd like to suggest a minor update to its description as follows: Do note that not understanding the current instructions may be language barrier related, and once you actually understand what is being asked the current instructions do seem clear. However, searching the Gitter chat logs does reveal that other people seem to be struggling with the aforementioned as well.
I did not understand the directions either. This makes more sense.

"title": "Smallest Common Multiple", "difficulty": "2.11", "description": [  "Find the smallest number that is evenly divisible by all numbers in the provided range.", "In other words, given the range [3,7], you will need to find the least common multiple of 3, 4, 5, 6, and 7.",   "Find the smallest common multiple of the provided parameters that can be evenly divided by both, as well as by all sequential numbers in the range between these parameters.",  "The range will be an array of two numbers that will not necessarily be in numerical order.",  "e.g. for 1 and 3 - find the smallest common multiple of both 1 and 3 that is evenly divisible by all numbers between 1 and 3.",  "Remember to use Read-Search-Ask if you get stuck. Try to pair program. Write your own code." ], "challengeSeed": [


Question:
The instinct on this bonfire is to total up all the change in the drawer to determine whether this is greater than the amount required. This will, however, miss the case where you don't have sufficient lower denominations to make change. In this case, we have a total of 2.50. A test should be written to check for a return value of 'Insufficient Funds' in this case.
I agree, I notice this today so it's still hasn't been resolved. I tested one where I was short two pennies... should I just give the customer back a nickel? ha! FYI that I created an "if" statement at the end that if the amount due doesn't equal zero, then it returns "Insufficient Funds" instead of the array of denominations.


Question:
A camper relayed this to me: There is some problem with the first challenge ending button on android with firefox browser. And in this moment I tried in chrome too, the issue is the same, the button is not active after the challenge is done. Xperia Z1 compact, android: 5.0.2, firefox: 39.0 Chrome: 43.0.2357.93
This is an issue whenever the screen size is small. It will also happen on a desktop if you resize the window to half screen or less.

script(type='text/javascript', src='/js/lib/jailed/jailed.js') .row(ng-controller="pairedWithController") <del> .col-xs-12.col-sm-12.col-md-4.col-lg-3 </del> <ins> .col-md-4.col-lg-3 </ins> .scroll-locker(id = "scroll-locker") .innerMarginFix(style=' width: 99%') #testCreatePanel.well

script(src='/js/lib/codemirror/mode/htmlmixed/htmlmixed.js') script(src='/js/lib/codemirror/addon/emmet/emmet.js') .row.courseware-height <del> .col-xs-12.col-sm-12.col-md-3.col-lg-3 </del> <ins> .col-md-3.col-lg-3 </ins> .scroll-locker(id = "scroll-locker") .innerMarginFix(style = "width: 99%;") .well

var dashedName = !{JSON.stringify(dashedName)}; var challengeType = !{JSON.stringify(challengeType)}; var started = Math.floor(Date.now()); <del> .col-xs-12.col-sm-12.col-md-5.col-lg-6 </del> <ins> .col-md-5.col-lg-6 </ins> .editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;") #mainEditorPanel form.code

script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js') script(type='text/javascript', src='/js/lib/jailed/jailed.js') .row(ng-controller="pairedWithController") <del> .col-xs-12.col-sm-12.col-md-4.col-lg-3 </del> <ins> .col-md-4.col-lg-3 </ins> .scroll-locker(id = "scroll-locker") .innerMarginFix(style = "width: 99%;") #testCreatePanel.well

var challengeType = !{JSON.stringify(challengeType)}; var _ = R; var dashed = !{JSON.stringify(dashedName)}; <del> .col-xs-12.col-sm-12.col-md-8 </del> <ins> .col-md-8.col-lg-9 </ins> .editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;") #mainEditorPanel form.code

extends ../layout-wide block content .row <del> .col-xs-12.col-sm-12.col-md-4.bonfire-top </del> <ins> .col-md-4.bonfire-top </ins> h1.text-center= name .well h4

input(type='checkbox' class='challenge-list-checkbox') .col-xs-9.col-sm-11.col-md-10 li.step-text.wrappable!= step <del> .col-xs-12.col-sm-12.col-md-8 </del> <ins> .col-md-8 </ins> .embed-responsive.embed-responsive-16by9 iframe.embed-responsive-item(src='//player.vimeo.com/video/#{video}') br


Question:
Challenge has an issue. In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions <-- Let's try a few of the most commonly used ones now <--- We use * for multiplication <---
merged to

"dashedName": "waypoint-add-two-numbers-with-javascript", "difficulty": "9.98141", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use +for addition",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use +for addition.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-subtract-one-number-from-another-with-javascript", "difficulty": "9.98142", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use -for subtraction",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use -for subtraction.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-multiply-two-numbers-with-javascript", "difficulty": "9.98143", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use *for multiplication",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use *for multiplication.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-divide-one-number-by-another-with-javascript", "difficulty": "9.9814", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use /for division",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use /for division.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-create-decimal-numbers-with-javascript", "difficulty": "9.9815", "description": [  "in JavaScript we can can work with decimal numbers",   "In JavaScript we can can work with decimal numbers.",  "Let's create a variable myDecimal and give it a decimal value." ], "tests": [


Question:
Challenge has an issue. In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions <-- Let's try a few of the most commonly used ones now <-- We use + for addition <-- Challenge has an issue. In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions <-- Let's try a few of the most commonly used ones now <-- We use - for subtraction <--- Challenge has an issue. In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions <-- Let's try a few of the most commonly used ones now <--- We use * for multiplication <--- Challenge has an issue. in JavaScript we can can work with decimal numbers <--- needs full stop. in JavaScript we can can work with decimal numbers <--- needs fullstop. These decal numbers are known as floats. Let's take a look at working with floats now <---- needs full stop
Hello Can you combine the previous issues on missing punctuations and misspelling into this issue and close the others?
Yep, its done.

"dashedName": "waypoint-add-two-numbers-with-javascript", "difficulty": "9.98141", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use +for addition",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use +for addition.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-subtract-one-number-from-another-with-javascript", "difficulty": "9.98142", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use -for subtraction",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use -for subtraction.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-multiply-two-numbers-with-javascript", "difficulty": "9.98143", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use *for multiplication",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use *for multiplication.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-divide-one-number-by-another-with-javascript", "difficulty": "9.9814", "description": [  "In JavaScript whole numbers (called integers) can be easily used to preform mathematical functions", "Let's try a few of the most commonly used ones now", "We use /for division",   "In JavaScript whole numbers (called integers) can be easily used to perform mathematical functions.", "Let's try a few of the most commonly used ones now.", "We use /for division.",  "Replace the 0with correct number to achieve the result in the comment." ], "tests": [

"dashedName": "waypoint-create-decimal-numbers-with-javascript", "difficulty": "9.9815", "description": [  "in JavaScript we can can work with decimal numbers",   "In JavaScript we can can work with decimal numbers.",  "Let's create a variable myDecimal and give it a decimal value." ], "tests": [


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. The instruction on the bonfire says It might be better to reword this as array since in JavaScript there is nothing called list and also it might mean different thing in different context (Data Structures!). !

"dashedName": "bonfire-where-art-thou", "difficulty": "1.55", "description": [  "Make a function that looks through a list (first argument) and returns an array of all objects that have equivalent property values (second argument).",   "Make a function that looks through an array (first argument) and returns an array of all objects that have equivalent property values (second argument).",  "Remember to use RSAP if you get stuck. Try to pair program. Write your own code." ], "challengeSeed": [


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. The capital letter versions of HTML entities are not valid for the tests. Perhaps you could or them through. Also maybe you could remind users to include the ";" at the end of their entities in the description. Thanks for all your teams great work! I'm loving
I fixed the allowed capitalization. The shows every entity with a semicolon at the end, so I don't think it's necessary to add a reminder.

"convert('Dolce & Gabbana');" ], "tests": [ <del> "assert.strictEqual(convert('Dolce & Gabbana'), 'Dolce & Gabbana', 'should escape characters');", "assert.strictEqual(convert('Hamburgers < Pizza < Tacos'), 'Hamburgers < Pizza < Tacos', 'should escape characters');", "assert.strictEqual(convert('Sixty > twelve'), 'Sixty > twelve', 'should escape characters');", "assert.strictEqual(convert('Stuff in "quotation marks"'), 'Stuff in "quotation marks"', 'should escape characters');", "assert.strictEqual(convert("Shindler's List"), 'Shindler's List', 'should escape characters');", "assert.strictEqual(convert('<>'), '<>', 'should escape characters');", </del> <ins> "assert.match(convert('Dolce & Gabbana'), /Dolce &(amp|AMP|#x00026|#38); Gabbana/, 'should escape characters');", "assert.match(convert('Hamburgers < Pizza < Tacos'), /Hamburgers &(lt|LT|#x0003C|#60); Pizza &(lt|LT|#x0003C|#60); Tacos/, 'should escape characters');", "assert.match(convert('Sixty > twelve'), /Sixty &(gt|GT|#x0003E|#62); twelve/, 'should escape characters');", "assert.match(convert('Stuff in "quotation marks"'), /Stuff in &(quot|QUOT|#x00022|#34);quotation marks&(quot|QUOT|#x00022|#34);/, 'should escape characters');", "assert.match(convert("Shindler's List"), /Shindler&(apos|#x00027|#39);s List/, 'should escape characters');", "assert.match(convert('<>'), /&(lt|LT|#x0003C|#60);&(gt|GT|#x0003E|#62);/, 'should escape characters');", </ins> "assert.strictEqual(convert('abc'), 'abc', 'should handle strings with nothing to escape');" ], "MDNlinks": [


Question:
Challenge has an issue. The commented code sample at the top of the challenge is missing commas between properties. <img width="1158" alt="screen shot 2015-08-16 at 5 01 57 pm" src=""
And on this challenge, too.


Question: Challenge has an issue. The original text is, "Regular expressions are way to find certain words or patterns inside of strings." It should instead read, "Regular expressions are a way to find certain words or patterns inside of strings." I would instead write, "Regular expressions are used to find certain words or patterns inside of strings."

"title": "Sift through Text with Regular Expressions", "difficulty":"9.984", "description":[  "Regular expressions are way to find certain words or patterns inside of strings.",   "Regular expressions are used to find certain words or patterns inside of strings.",  "For example, if we wanted to find the number of times the word the occurred in the string The dog chased the cat, we could use the following regular expression: /the+/gi", "Let's break this down a bit:", "the is the pattern we want to match.",


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible.

], "challengeSeed":[ "function myFunction(){", <del> "  // Make myFunction return a random number between zero and nine instead of a decimal", </del> <ins> "  // Make myFunction return a random number between 'min' and 'max' instead of a decimal", </ins> "", "  // Only change code below this line.", "",


Question:
! Hi I have found this on my Learning Map... Hope this can help you all in solving bugs... :)
! Note: it seems to appear only on the section of lessons that I have completed.
This was fixed in and can be closed.
after reloading the page, I still get this - has the fix not been pushed to the server yet?
It got pushed just there folks!

.col-xs-12.col-sm-9.col-md-10 li.large-p.faded.negative-10 a(href='#' + challengeBlock.dashedName)= challengeBlock.name <del> h3= challengeBlock </del> else .hidden-xs.col-sm-3.col-md-2 .progress.progress-bar-padding.text-center.thin-progress-bar


Question:
Challenge has an issue. With this code It validate the task "Use the (".btn").
Created PR

], "tests": [ "assert(editor.match(/$(.*button/g), 'Use the $&#40"button"&#41 selector.')",  "assert(editor.match(/$(.*.btn/g), 'Use the $&#40".btn"&#41 selector.')",   "assert(editor.match(/$(.*.btn/g), 'Use the $&#40".btn"&#41 selector.')",  "assert(editor.match(/$(.*#target1/g), 'Use the $&#40"#target1"&#41 selector.')", "assert(editor.match(/addClass/g) && editor.match(/addClass/g).length > 2, 'Only add one class with each of your three selectors.')", "assert($("#target1").hasClass("animated") && $("#target1").hasClass("shake") && $("#target1").hasClass("btn-primary"), 'Your #target1 element should have the classes animated‚ shake and btn-primary.')",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Should that '' be there at the end of Here's an example of how you can take your element with the id attribute of cat-photo-element and give it the background color of green. In your style element: #cat-photo-element { background-color: green; }? <img width="271" alt="screenshot 2015-08-17 14 56 24" src=""
No, it shouldn't. I can take care of this if that's not a problem.
If you want to take a stab go for it!

"difficulty": 1.392, "description": [ "One cool thing about id attributes is that, like classes, you can style them using CSS.",  "Here's an example of how you can take your element with the id attribute of cat-photo-element and give it the background color of green. In your style element: #cat-photo-element { background-color: green; }>",   "Here's an example of how you can take your element with the id attribute of cat-photo-element and give it the background color of green. In your style element: #cat-photo-element { background-color: green; }",  "Note that inside your style element, you always reference classes by putting a . in front of their names. You always reference ids by putting a # in front of their names.", "Try giving your form, which now has the id attribute of cat-photo-form, a green background." ],


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

"tests": [ "assert($("form").attr("id") === "cat-photo-form", 'Give your form element the id of cat-photo-form.')", "assert($("#cat-photo-form").css("background-color") === "rgb(0, 128, 0)", 'Your form element should have the background-color of green.')",  "assert(editor.match(/<form.*cat-photo-form.*>/gi) && editor.match(/<form.*cat-photo-form.*>/gi).length > 0, 'Make sure your form element has both an id attribute.')",   "assert(editor.match(/<form.*cat-photo-form.*>/gi) && editor.match(/<form.*cat-photo-form.*>/gi).length > 0, 'Make sure your form element has an id attribute.')",  "assert(!editor.match(/<form.*style.*>/gi) && !editor.match(/<form.*class.*>/gi), 'Do not give your form any class or style attributes.')" ], "challengeSeed": [


Question: The variable "firstLetterOfLastName" is declared twice and the variable "firstLetterOfFirstName" is undeclared. !

"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";",


Question:
Challenge has an issue: ! The directions should state that myRemoved should contain the first element of myArray.
Related to:
Thanks this should be an easy fix.

"difficulty": "9.9817", "description": [ "pop() always removes the last element of an array. What if you want to remove the first? That's where .shift() comes in.",  "Take the myArray array and shift() the first value off of it."   "Take the myArray array and shift() the first value off of it.  Set myRemoved to the first value of myArray using shift()."  ], "tests": [ "assert((function(d){if(d[0] == 23 && d[1][0] == 'dog' && d[1][1] == 3 && d[2] == undefined){return true;}else{return false;}})(myArray), 'myArray should only have the last two values left([23, ["dog", 3]])');",


Question: Challenge has an issue: ! It looks to me as if this code is missing a closing code bracket:

"We can use if statements in JavaScript to only execute code if a certain condition is met.", "if statements require some sort of boolean condition evaluate.", "Example:",  " if (1 == 2) {",   " if (1 == 2) {",  "  return(true);", "}", "else {",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. !. It has to control if the user has really removed the btn-default class. You can in the screenshot that it accepts the code even though i have not inserted btn-default in the removeClass() function
Thanks Confirmed, challenge is marked completed with incorrect answer

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. 4th paragraph reads: "Use bracket notation to find the first character in a the firstLetterOfLastName variable." The "a" is not necessary

"Bracket notation is a way to get a character at a specific index within a string.", "Computers don't start counting at 1 like humans do. They start at 0.", "For example, the character at index 0 in the word "Charles" is "C". So if var firstName = "Charles", you can get the value of the first letter of the string by using firstName[0].",  "Use bracket notation to find the first character in a the firstLetterOfLastName variable.",   "Use bracket notation to find the first character in the firstLetterOfLastName variable.",  "Try looking at the firstLetterOfFirstName variable declaration if you get stuck." ], "tests": [


Question:
Challenge has an issue. The Challenge is marked as complete even if the required tasks are not completed successfully. Refer to the screenshot: ! Just adding the removeClass(without any parameters) on the jQuery selector marks the task as complete. Thank you. :smile:
I have the same issue but for me i can go to the next challenge although not all tests passed. !
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question: Challenge has an issue. "We can use a certain mathematical expression to get a random number between between two numbers." double between Best regards. misuta !

"title": "Generate Random Whole Numbers within a Range", "difficulty":"9.9829", "description":[  "We can use a certain mathematical expression to get a random number between between two numbers.",   "We can use a certain mathematical expression to get a random number between two numbers.",  "Math.floor(Math.random() * (max - min + 1)) + min", "By using this we can control the output of a random number." ],


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Example: if (1 == 2) { //should be === return(true); } else { return(false); } Let's use if and else statements to make a coin-flip game. Create an if-else statement to return heads if the flip var is zero and to return tails if it's not.

"We can use if statements in JavaScript to only execute code if a certain condition is met.", "if statements require some sort of boolean condition to evaluate.", "Example:",  " if (1 == 2) {",   " if (1 === 2) {",  "  return(true);", "}", "else {",


Question: Challenge has a minor spelling error. The HTML5/CSS Waypoint 63: Use RGB values to Color Elements has a minor typo the term 'rbg' is referenced instead of 'rgb'. !

"description": [ "Another way you can represent colors in CSS is by using rgb values.", "RGB values look like this: rgb(0, 0, 0) for black and rgb(255, 255, 255) for white.",  "Instead of using six hexadecimal digits like you do with hex code, with rbg you specify the brightness of each color with a number between 0 and 255.",   "Instead of using six hexadecimal digits like you do with hex code, with rgb you specify the brightness of each color with a number between 0 and 255.",  "If you do the math, 16 times 16 is 256 total values. So rgb, which starts counting from zero, has the exact same number of possible values as hex code.", "Let's replace the hex code in our body element's background color with the RGB value for black: rgb(0, 0, 0)" ],


Question: Challenge has a minor typo. Step 8 reads "[...] if you don't haven't built any websites before [...]" when it should simply read "[...] if you haven't built any websites before [...]". Additionally, the code styling from step 12 appears to be bleeding over into steps 13 - 16, so the text for those steps is improperly styled. !

"Here are the user stories you must enable, and optional bonus user stories:", "User Story: As a user, I can access all of the portfolio webpage's content just by scrolling.", "User Story: As a user, I can click different buttons that will take me to the portfolio creator's different social media pages.",  "User Story: As a user, I can see thumbnail images of different projects the portfolio creator has built (if you don't haven't built any websites before, use placeholders.)",   "User Story: As a user, I can see thumbnail images of different projects the portfolio creator has built (if you haven't built any websites before, use placeholders.)",  "Bonus User Story: As a user, I navigate to different sections of the webpage by clicking buttons in the navigation.", "Don't worry if you don't have anything to showcase on your portfolio yet - you will build several several apps on the next few CodePen challenges, and can come back and update your portfolio later.", "There are many great portfolio templates out there, but for this challenge, you'll need to build a portfolio page yourself. Using Bootstrap will make this much easier for you.",


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. "There are many ways to add and add and remove properties from objects." Should probably read as: "There are many ways to add and remove properties from objects."

"title": "Manipulate JavaScript Objects", "difficulty":"9.9823", "description":[  "There are many ways to add and add and remove properties from objects.",   "There are many ways to add and remove properties from objects.",  "For example, we can add properties to objects like this:", "myObject.myProperty = "myValue";", "We can also delete them like this:",


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. "Random numbers are useful for creating random behaviours and games." May be more clear as: "Random numbers are useful for creating random behavior."

"title": "Generate Random Fractions with JavaScript", "difficulty":"9.9827", "description":[  "Random numbers are useful for creating random behaviours and games.",   "Random numbers are useful for creating random behavior.",  "JavaScript has a Math.random() function that generates a random decimal number.", "Use Math.random() to get myFunction to return a random number." ],


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Left side error checking seems wrong !
I couldn't get this to work until I entered the following: //Not hello world /(asterisk)Still not hello world(asterisk)/ Note that the /(asterisk) and (asterisk)/, apparently, have to be on the same line. Using Chrome 45.0.2454.85 on Mac OS 10.10.5.

"Try creating one of each." ], "tests":[  "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)...../g), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"   "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)[wW]{5,}(?=*/)/gm), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"  ], "challengeSeed":[ ],


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. the instructions call for a property of engine, the test is looking for engines. <img width="1043" alt="screen shot 2015-08-18 at 12 49 26 pm" src=""

"assert(typeof((new MotorBike()).seats) === 'number', 'seats should be have a engines attribute set to a number.');" ], "challengeSeed":[  "// Let's add the properties engine and seats to the car in the same way that the property wheels has been added below. They should both be numbers.",   "// Let's add the properties engines and seats to the car in the same way that the property wheels has been added below. They should both be numbers.",  "var Car = function() {", "  this.wheels = 4;", "  this.engines = 1;",


Question: Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. The last paragraph: Should read:

"description": [ "data structures have properties. For example, strings have a property called .length that will tell you how many characters are in the string.", "For example, if we created a variable var firstName = "Charles", we could find out how long the string "Charles" is by using the firstName.length property.",  "Use the .length property to count the number of characters in the lastNameLength variable."   "Use the .length property to count the number of characters in the lastName variable."  ], "tests": [ "assert((function(){if(typeof(lastNameLength) !== "undefined" && typeof(lastNameLength) === "number" && lastNameLength === 8){return(true);}else{return(false);}})(), 'lastNameLength should be equal to eight.');",


Question:
In order to pass the test for this waypoint, the comment for the slash-start-start-slash type of commenting has to be on the same line as the first slash-star, otherwise it doesn't work. ! Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
Dear camper, your issue is a duplicate: Please see .

"Try creating one of each." ], "tests":[  "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)...../g), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"   "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)[wW]{5,}(?=*/)/gm), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"  ], "challengeSeed":[ ],


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Wants an array with a string and number. If you make the number the first element in array, it tells you that's wrong IE: var myArray = [12, "hi"]; The first item in myArray should be a string The Directions make no mention of the string having to be first
Thanks Would "Now let's create a new array called myArray that contains both a string and a number (in that order)." make this clearer for you? Or do you have a better suggestion?

"description": [ "With JavaScript array variables, we can store several pieces of data in one place.", "You start an array declaration with an opening bracket, end it with a closing bracket, and put a comma between each entry, like this: var sandwich = ["peanut butter", "jelly", "bread"].",  "Now let's create a new array called myArray that contains both a string and a number.",   "Now let's create a new array called myArray that contains both a string and a number (in that order).",  "Refer to the comments if you get stuck." ], "tests": [


Question:
Challenge has an issue. You can complete the waypoint by simply calling removeClass() on all of the button elements without specifically removing "btn-default". !
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Code broken: assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters'); Create a // style comment that contains at least five letters Should only show; Create a // style comment that contains at least five letters
Dear camper, your issue is a duplicate: Please see .

"Try creating one of each." ], "tests":[  "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)...../g), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"   "assert(editor.getValue().match(/(//)...../g), 'Create a // style comment that contains at least five letters');", "assert(editor.getValue().match(/(/*)[wW]{5,}(?=*/)/gm), 'Create a /* */ style comment that contains at least five letters.');", "assert(editor.getValue().match(/(*/)/g), 'Make sure that you close the comment with a */');"  ], "challengeSeed":[ ],


Question:
Challenge has an issue. right now, whenever the camper write the removeClass() function -even before specifying the class he/she wants to be removed-. the application automatically marks the challenge as completed. The reason: when the parameter isn't specified to removeClass() function it removes ALL classes of the selected element, which means that the "btn-default" class (as required by the challenge) is going to be removed but the problem is that it will remove all other classes at the same time. I think the test should make sure that other classes still to the element while "btn-default" is removed. !
Same thing happened to me just now, using Google Chrome on Windows 10.
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. Expected passing code: $("button").removeClass("btn-default"); Exercise automatically passes with: $("button").removeClass();
Well, technically removes the class. :)
Yep technically it works but removeClass() removes all class whereas removeClass('btn-default') is more specific. Just a minor thing.
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. the challenge was marked as finished even with just $("button").removeClass it should be marked as finished with $("button").removeClass("btn-default");
Reference to Spec says specifically However this works as well According to spec should not be possible, only . Also does not check wether was removed only from elements, as described above.
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. First target your div element with the id target3 by using the $("#target3") selector. div needs changing to button.
This is a duplicate of issue .

"difficulty": 3.04, "description": [ "You can also target elements by their id attributes.",  "First target your div element with the id target3 by using the $("#target3") selector.",   "First target your button element with the id target3 by using the $("#target3") selector.",  "Note that, just like with CSS declarations, you type a # before the id's name.", "Then use jQuery's .addClass() function to add the classes animated and fadeOut.", "Here's how you'd make the button element with the id target6 fade out: $("#target6").addClass("animated fadeOut")."


Question: Challenge has an issue. In the second sentence, Remember when we used the class to make the button grow fill the entire row? --remove the word "grow".

"title": "Use Spans for Inline Elements", "difficulty": 2.105, "description": [  "You can use use spans to create inline elements. Remember when we used the btn-block class to make the button grow fill the entire row?",   "You can use use spans to create inline elements. Remember when we used the btn-block class to make the button fill the entire row?",  "This image illustrates the difference between inline elements and block-level elements:", "", "By using the span element, you can put several elements together, and even style different parts of the same element differently.",

"title": "Target the Parent of an Element Using jQuery", "difficulty": 3.13, "description": [  "Every HTML elements has a parent element from which it inherits properties.",   "Every HTML element has a parent element from which it inherits properties.",  "For example, your jQuery Playground h3 element has the parent element of <div class="container-fluid"&#62, which itself has the parent body.", "jQuery has a function called parent() that allows you to access the parent of whichever element you've selected.", "Give the parent of the #target1 element background-color of red.",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. There are two typos in this waypoint, as indicated in the screenshot: ! In the first paragraph, remove the "s" from the word "elements." In the second test, the close-paren needs to immediately follow the open-paren, and should not appear at the end of the sentence.
Thanks for reporting this! The referenced commit fixes one of your issues, and the other (closing parenthesis) had already been fixed!

"title": "Use Spans for Inline Elements", "difficulty": 2.105, "description": [  "You can use use spans to create inline elements. Remember when we used the btn-block class to make the button grow fill the entire row?",   "You can use use spans to create inline elements. Remember when we used the btn-block class to make the button fill the entire row?",  "This image illustrates the difference between inline elements and block-level elements:", "", "By using the span element, you can put several elements together, and even style different parts of the same element differently.",

"title": "Target the Parent of an Element Using jQuery", "difficulty": 3.13, "description": [  "Every HTML elements has a parent element from which it inherits properties.",   "Every HTML element has a parent element from which it inherits properties.",  "For example, your jQuery Playground h3 element has the parent element of <div class="container-fluid"&#62, which itself has the parent body.", "jQuery has a function called parent() that allows you to access the parent of whichever element you've selected.", "Give the parent of the #target1 element background-color of red.",


Question:
Challenge has an issue. The instructions were: "Let's remove the btn-default class from all of our button elements. Here's how you would do this for a specific button, add $("#target2").removeClass("btn-default");" But even before I typed in "btn-default", it said my answer was already correct:
Dear camper, your issue is a duplicate and already fixed: Please see .

], "tests": [ "assert($(".btn-default").length === 0, 'Remove the btn-default class from all of your button elements.')",  "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')"   "assert(editor.match(/btn btn-default/g), 'Only use jQuery to remove this class from the element.')", "assert(editor.match(/.[vs]*removeClass[sv]*([sv]*('|")s*btn-defaults*('|")[sv]*)/gm), 'Only remove the btn-default class.')"  ], "challengeSeed": [ "fccss",


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
Hey thanks for taking the time to report an issue. Please take a look at our as that should help you resolve most issues in the fastest way possible. This should be closed for now, but if the above steps don't solve your problem then reopen this issue with some more details.
Closing. Please feel free to re-open with steps to reproduce the issue. Happy Coding!

```bash <ins> # Start the mongo server mongod </ins> # Seed your database with the challenges node seed_data/seed.js


Question:
Challenge has an issue. "You should have multiplied the result of but 10 to make it a number that's greater then zero" But I believe is a typo for 'by' !
Also, it should be "greater than" zero. Thanks for reporting

"tests":[ "assert(typeof(myFunction()) === "number", 'The result of myFunction should be a number');", "assert(editor.getValue().match(/Math.random/g), 'You should be using Math.random to create a random number');", <del> "assert(!(''+myFunction()).match(/./g), 'You should have multiplied the result of Math.random by 10 to make it a number that's greater then zero');", </del> <ins> "assert(!(''+myFunction()).match(/./g), 'You should have multiplied the result of Math.random by 10 to make it a number that's greater than zero');", </ins> "assert(editor.getValue().match(/Math.floor/g), 'You should use Math.floor to remove the decimal part of the number');" ], "challengeSeed":[


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. This waypoint was completed before correct code completely entered. The closing bracket is missing. Thank You
Thanks for pointing this out!

"}" ], "tests": [  "assert($("body").css("background-color") === "rgb(0, 0, 0)", 'Give your body element the background-color of black.')"   "assert($("body").css("background-color") === "rgb(0, 0, 0)", 'Give your body element the background-color of black.')", "assert(editor.match(//i), 'Make sure your CSS rule is properly formatted with both and opening and closing curly bracket.')"  ], "challengeSeed": [ "


Question:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. just messing on my windows 10 tablet (torture by the way) and realized emmet is not working as it was on my mac using chrome on both...
I'm having the same frustration with emmet not working.
It was in fact removed accidently. Can someone add it back? All you need to do is add this line After the editor is created in

}); })(); <ins> var defaultKeymap = { 'Cmd-E': 'emmet.expand_abbreviation', 'Tab': 'emmet.expand_abbreviation_with_tab', 'Enter': 'emmet.insert_formatted_line_break_only' }; emmetCodeMirror(editor, defaultKeymap); </ins> editor.setOption('extraKeys', { Tab: function(cm) { if (cm.somethingSelected()) {


Question: I noticed on this challenge that the button to run the tests still runs code ! I think this should say run tests

| Username not found label.negative-10.btn.btn-primary.btn-block#submitButton i.fa.fa-play <del> |   Run code (ctrl + enter) </del> <ins> |   Run tests (ctrl + enter) </ins> .button-spacer .btn-group.input-group.btn-group-justified label.btn.btn-success#trigger-reset-modal

.negative-bottom-margin-30 label.negative-10.btn.btn-primary.btn-block#submitButton i.fa.fa-play <del> |   Run code (ctrl + enter) </del> <ins> |   Run tests (ctrl + enter) </ins> br if (user) .button-spacer

// extra field to distract password tools like lastpass from injecting css into our username field label.negative-10.btn.btn-primary.btn-block#submitButton i.fa.fa-play <del> |   Run code (ctrl + enter) </del> <ins> |   Run tests (ctrl + enter) </ins> .button-spacer .btn-group.input-group.btn-group-justified label.btn.btn-success#trigger-reset-modal


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

editor.on('keyup', function() { clearTimeout(codeStorage.updateTimeoutId); codeStorage.updateTimeoutId = setTimeout( <del> codeStorage.updateStorage, </del> <ins> codeStorage.updateStorage.bind(codeStorage), </ins> codeStorage.updateWait ); });


Question:
Challenge has an issue. test asserting is used will always be true, as the example code in the editor uses it.
thanks for pointing this out! You're right. Actually that assert should check if there are minimum two 's in the code.

], "tests": [ "assert(lastLetterOfLastName === "e", 'lastLetterOfLastName should be "e"');",  "assert(editor.getValue().match(/.length/g), 'You have to use .length to get the last letter');"   "assert(editor.getValue().match(/.length/g).length === 2, 'You have to use .length to get the last letter');"  ], "challengeSeed": [ "var firstName = "Ada";",

], "tests": [ "assert(secondToLastLetterOfLastName === 'c', 'secondToLastLetterOfLastName should be "c".');", <del> "assert(editor.getValue().match(/.length/g), 'You have to use .length to get the third last letter.');" </del> <ins> "assert(editor.getValue().match(/.length/g).length === 2, 'You have to use .length to get the third last letter.');" </ins> ], "challengeSeed": [ "var firstName = "Ada";",


Question:
please note that the framework refactor seems to have broken the code saving mechanism just for the showJS views - the showHTML views work fine.
This appears to have been resolved between when this bug was filed and now, so I'm closing it. Please reopen if I've done this in error.

failureRedirect: '/login' }; <del> app.get('/auth/twitter', passport.authenticate('twitter')); </del> <ins> app.get('/auth/twitter', passport.authorize('twitter')); </ins> app.get( '/auth/twitter/callback', passport.authenticate('twitter', {

); }; <del> // prepares the string to be printed on the terminal var escape = function(msg) { return msg. replace(/&/g,'&'). replace(/</g,'<'). replace(/>/g,'>'). replace(/n/g, '<br/>'). replace(/ /g, ' '); }; </del> // puts the message on the terminal var print = function(cls, msg) { codeOutput.setValue(msg);

// interface provided to the plugin var api = { output: function(data) { <del> if (!--requests) { endLoading(); } // print('separator'); print('input', data.input); if (data.error) { print('message', data.error); } else { print('output', data.output); } </del> <ins> endLoading(); print('input', data.input); if (data.error) { print('message', data.error); } else { print('output', data.output); } </ins> } };

setTimeout( function() { endLoading(); codeOutput.setValue('Infinite loop detected!'); <del> // print('message', 'Your code took too long to execute. Check for an infinite loop or recursion.'); //            console.log('infinite loop'); //          $('#codeOutput.setValue('Infinite loop detected')') </del> reset(); }, 10); });

var editor = myCodeMirror; myCodeMirror.setValue('2*2'); myCodeMirror.setSize("100%", 500); var codeOutput = CodeMirror.fromTextArea(document.getElementById("codeOutput"), { lineNumbers: false,


Question:
Challenge has an issue. the "code space" where students are meant to put their if/else code contains (by default) a closing bracket which is part of the test code and shouldn't be edited/removed: <a href="" target="_blank"<img src="" border="0" alt=" photo "/</aI think this closing bracket should be moved under the comment to avoid students using it inside their if/else statement (and breaking the function). (someone was stuck on this earlier today)
Thank you for reporting! :)

"  // Only change code below this line.", "", "", <ins> "", "  // Only change code above this line.", </ins> "}", "", <del> "// Only change code above this line.", </del> "// We use this function to show you the value of your variable in your output box.", "(function(){return myFunction();})();" ],


Question:
Is there information on the meaning for the various labels used for the issues. I have been searching and haven't found anything. Some of the labels are not clear (to me): Does test iimprovement mean that the person who submitted the issue should test the change or anyone can test it or...? Should members wait for a help wanted label before attempting a fix for an issue? Maybe something info about the labels could be to the wiki? Thanks.
Account Problem - camper has a problem with his/her FCC account such as login problems, losing progress, profile page is missing some solutions and so on. Beta site - the issue is related to FCC's beta site. bug - confirmed and reproducible bug in FCC's code and not only (for example, in ) . CHROME - the issue can be reproduced only in Google Chrome. Curriculum Request - the issue requests a new challenge, adding more explanation to a challenge and so on. Relates to everything that is requested to be to current curriculum. Device Issue - the issue presents only for a particular device (tablet, smartphone, desktop, etc.). Discussing - the issue is currently on discussion stage. duplicate - the issue is duplicate of another issue and most likely will be closed. Easy - the issue is easy to fix. Feature Request - the issue is a feature request for FCC. For example. ability to bonfires from campers profile page. FireFox - the issue can be reproduced only in Mozilla Firefox. help wanted - owners or issue moderators need campers help to investigate or fix the issue. Hikes - the issue is related to Hikes (they are currently not available in curriculum). IE/EDGE - the issue can be reproduced only in Internet Explorer or Microsoft Edge. Remember that we do not support any of these two browsers. FCC officially supports only Google Chrome. in progress - I think this means that currently someone is making a fix for the issue. question - the issue is just a question. Resolved - the issue is resolved/fixed. Test Improvement - the issue should be fixed with a test improvement, which means that someone needs to fix s. todo - something that needs to be done in future. UX (User eXperience) - in this kind of issues campers share their experience with the issue. Wiki - the issue relates to FCC's GitHub Wiki articles. May be a request to create one. Your issue is such a request so I'll add Wiki label to this issue. wontfix - the issue is not fixable or won't be fixed in near future. An example of such an issue is . OK, I left some labels not described here: Accessibility, blocked, confirmed, critical-path, enhancement, invalid, QA, reactify, ready and sounding. Hopefully and other will help to finish the list.
I'm by no means an authority on the subject, but here are som of the remaining labels with descriptions that I think are somewhat correct, maybe, possibly. Please edit them if I'm wrong. blocked - I believe this is for when an issue should not be worked on, due to waiting on the creator to respond to some question or something. confirmed - I think this was the old QA. Not sure if it's used anymore. citical-path - IIRC this is used with very obvious or site-breaking bugs enhancement - I think this is sort of like Feature Request, possibly more related to improving existing features rather than adding new ones? invalid - Probably an issue with a feature or some code that is no longer on the site? QA - Short for "Quality Assurance". For when a fix has been submitted and it needs to be reviewed before merging. reactify - An issue related to the future reacification of FCC.
Accessibility - This is used for issues that don't necessarily break the site but make it harder to use (like when the tests used to evaluate while you typed and would flicker the whole screen). Also this is relevant to enabling the site to be usable for those who may have vision impairment or disabilities. Blocked - We need more information or the issue is stale. Confirmed - This is used when the issue that has been reported has been verified (it basically says to the issue creator that they have successfully communicated how to replicate the issue) but no one has started working toward a fix. UX Similar to accessibility but it focuses on an issue that leads to a negative user experience. If something is more complicated than it needs to be or it is hard to understand how to use a certain feature then this tag is relevant. Easy - This is used to flag issues that aren't critical but should be easy for a camper to fix for their first couple of PRs. Think of these as the camper gateway to becoming a contributor.
thank you so much for your replies. They are above and beyond what I was expecting. One more question. If an issue has wiki label should a camper write something and submit a pull request or is better to wait for discussion about the topic or a help wanted label?
you are free to open PRs and fix issues. You can create a Wiki article about labels if you want. Don't forget to read and first, thanks.
Great! i know all I need to know. Thanks, again.
I think we should keep this open until a wiki entry is created. This is clearly valuable to have and be up to date.
Probably, could create a wiki entry.
I'm not familiar with the labels and currently without checking (not sure where I can find the info) I would just put the info from here. Should that not be part of ?
no, it should be a separate article.
Agreed, this is only relevant to issue mods and owners. I believe this is the only source for label information that exist at the moment.
Anyone feel free to create the page, no need to ask for permission. On Mon, Sep 21, 2015, 1:38 AM Berkeley Martinez wrote: Rafael Rodríguez Top freelancer @ UpWork
Thought I knew all I needed to know, but after reading some of the comments I'm not sure. I created a Wiki page on labels and was going save it in the Wiki section. Should I save offline and submit a pull request instead?
You can just save directly to the wiki
I used the definitions above for a issue labels wiki. However, I do not have descriptions for the following labels: Invalid Reactify Ready Sounding (label: Critical-Path) What is IIRC? Thanks
invalid - Not sure whats up with this Reactify - Issues related to moving to reactjs Sounding - no idea Critical Path - This is no longer used
I think IIRC is short for "If I Remember Correctly". should we remove invalid, Sounding and Critical Path labels if they are not used?
I think it is safe to remove them if they are not currently being used. Do remember that some of these labels (blocked, confirmed, QA) are also tied to Waffle and are automatically and removed by it (worth mentioning in the article).
I will remove the unused labels and add info about labels tied to waffle. IIRC (lol)
It needs editing (the title especially needs help), but here is the link for the label wiki: maybe the label names in the table should be bold...
While we're on the subject, could someone standardize the capitalization of the labels? Some of them use , other's , and I cringe every time I see .
Besides those tied to Waffle I agree that there should be a standard capitalization. I prefer to keep it all lowercase.
I feel your pain
Can I take the liberty to rename them and possibly add colors to colorless ones and delete unused ones? +1 to lower case.
Yes.
I've lower cased, and in some cases shortened, the names of all labels except and since I think these are related to the Waffle board and I didn't dare to. Do you know if they're fine to edit as well, I also think we could merge and into , possibly merge into or vice versa, and remove the following labels: - - - - Thoughts, anyone? Edit: Also, should we rename to or ?
Do not edit those labels related to Waffle (confirmed, QA, Discussing).
I didn't, there were any other than , , , and ? Any thoughts on the other suggestions?
Closing this issue as is created.

"description": [ "Compare and update inventory stored in a 2d array against a second 2d array of a fresh delivery. Update current inventory item quantity, and if an item cannot be found, add the new item and quantity into the inventory array in alphabetical order." ], <del> "challengeSeed": "function inventory(arr1, arr2) {n    // All inventory must be accounted for or you're fired!rn    return arr1;rn}nn// Example inventory listsrnvar curInv = [rn    [21, 'Bowling Ball'],rn    [2, 'Dirty Sock'],rn    [1, 'Hair pin'],rn    [5, 'Microphone']rn];rnrnvar newInv = [rn    [2, 'Hair Pin'],rn    [3, 'Half-Eaten Apple'],rn    [67, 'Bowling Ball'],rn    [7, 'Toothpaste']rn];rnrninventory(curInv, newInv);", "tests": [ "expect(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']])).to.be.a('array');", "assert.equal(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]).length, 6);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[88, 'Bowling Ball'], [2, 'Dirty Sock'], [3, 'Hair pin'], [3, 'Half-Eaten Apple'], [5, 'Microphone'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']]);", "assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [1, 'Dirty Sock'], [1, 'Hair pin'], [1, 'Half-Eaten Apple'], [1, 'Microphone'], [1, 'Toothpaste']]);" </del> <ins> "challengeSeed": "function inventory(arr1, arr2) {n    // All inventory must be accounted for or you're fired!rn    return arr1;rn}nn// Example inventory listsrnvar curInv = [rn    [21, 'Bowling Ball'],rn    [2, 'Dirty Sock'],rn    [1, 'Hair Pin'],rn    [5, 'Microphone']rn];rnrnvar newInv = [rn    [2, 'Hair Pin'],rn    [3, 'Half-Eaten Apple'],rn    [67, 'Bowling Ball'],rn    [7, 'Toothpaste']rn];rnrninventory(curInv, newInv);", "tests": [ "expect(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']])).to.be.a('array');", "assert.equal(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]).length, 6);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[88, 'Bowling Ball'], [2, 'Dirty Sock'], [3, 'Hair Pin'], [3, 'Half-Eaten Apple'], [5, 'Microphone'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']]);", "assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[67, 'Bowling Ball'], [2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair Pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [0, 'Dirty Sock'], [1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [0, 'Microphone'], [1, 'Toothpaste']]);" </ins> ] } ]


Question:
Note that we plan to promote our onboarding flow to a challenge with this type of interface (the page you see at when you're logged in). Basically, we want to have a deck of "slides" that the camper advances through (as opposed to our scrolling-style onboarding flow). This should be written in , since we're planning to move all our views into React web components soon anyway.
done

"description": [ "Compare and update inventory stored in a 2d array against a second 2d array of a fresh delivery. Update current inventory item quantity, and if an item cannot be found, add the new item and quantity into the inventory array in alphabetical order." ], <del> "challengeSeed": "function inventory(arr1, arr2) {n    // All inventory must be accounted for or you're fired!rn    return arr1;rn}nn// Example inventory listsrnvar curInv = [rn    [21, 'Bowling Ball'],rn    [2, 'Dirty Sock'],rn    [1, 'Hair pin'],rn    [5, 'Microphone']rn];rnrnvar newInv = [rn    [2, 'Hair Pin'],rn    [3, 'Half-Eaten Apple'],rn    [67, 'Bowling Ball'],rn    [7, 'Toothpaste']rn];rnrninventory(curInv, newInv);", "tests": [ "expect(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']])).to.be.a('array');", "assert.equal(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]).length, 6);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[88, 'Bowling Ball'], [2, 'Dirty Sock'], [3, 'Hair pin'], [3, 'Half-Eaten Apple'], [5, 'Microphone'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']]);", "assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [1, 'Dirty Sock'], [1, 'Hair pin'], [1, 'Half-Eaten Apple'], [1, 'Microphone'], [1, 'Toothpaste']]);" </del> <ins> "challengeSeed": "function inventory(arr1, arr2) {n    // All inventory must be accounted for or you're fired!rn    return arr1;rn}nn// Example inventory listsrnvar curInv = [rn    [21, 'Bowling Ball'],rn    [2, 'Dirty Sock'],rn    [1, 'Hair Pin'],rn    [5, 'Microphone']rn];rnrnvar newInv = [rn    [2, 'Hair Pin'],rn    [3, 'Half-Eaten Apple'],rn    [67, 'Bowling Ball'],rn    [7, 'Toothpaste']rn];rnrninventory(curInv, newInv);", "tests": [ "expect(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']])).to.be.a('array');", "assert.equal(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]).length, 6);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[88, 'Bowling Ball'], [2, 'Dirty Sock'], [3, 'Hair Pin'], [3, 'Half-Eaten Apple'], [5, 'Microphone'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']]);", "assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[67, 'Bowling Ball'], [2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair Pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [0, 'Dirty Sock'], [1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [0, 'Microphone'], [1, 'Toothpaste']]);" </ins> ] } ]


Question:
The Bonfire says "Compare two arrays and return a new array with any items not found in both of the original arrays.". If you can't find an item in both arrays then the result will be infinite. The wording may be less confusing if it says: "Compare two arrays and return a new array with any items in the second array that are not found in the first."
Working on this!
"Compare two arrays and return a new array with any items in the second array that are not found in the first or any items in the first array that are not found in the second." i.e. "Return any items which doesn't exist in both the arrays."

"id": "a5de63ebea8dbee56860f4f2", "title": "Diff Two Arrays", "description": [  "Compare two arrays and return a new array with any items not found in both of the original arrays.",   "Compare two arrays and return a new array with any items only found in one of the original arrays.",  "Remember to use Read-Search-Ask if you get stuck. Try to pair program. Write your own code." ], "challengeSeed": [

], "tests": [ "assert(typeof(diff([1, 2, 3, 5], [1, 2, 3, 4, 5])) === "object", 'message: diff() should return an array.');",  "assert.deepEqual(diff(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["pink wool"], 'message: ["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["pink wool"].');", "assert.includeMembers(diff(["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["diorite", "pink wool"], 'message: ["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["diorite", "pink wool"].');", "assert.deepEqual(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');", "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"   "assert.sameMembers(diff(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["pink wool"], 'message: ["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["pink wool"].');", "assert.sameMembers(diff(["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["diorite", "pink wool"], 'message: ["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["diorite", "pink wool"].');", "assert.sameMembers(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.sameMembers(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.sameMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');", "assert.sameMembers(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.sameMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"  ], "MDNlinks": [ "Comparison Operators",


Question: Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code: There's a typo in the top comment. Instead of reading "Let's create an object with a two functions." it should read "Let's create an object with two functions."

"assert(typeof(myBike.addUnit) === 'undefined', 'message: myBike.addUnit should remain undefined.');" ], "challengeSeed":[  "//Let's create an object with a two functions. One attached as a property and one not.",   "//Let's create an object with two functions. One attached as a property and one not.",  "var Car = function() {", "  this.gear = 1;", "  function addStyle(styleMe){",


Question:
Challenge Waypoint: Condense arrays with reduce has an issue. User Agent is: codeMozilla/5.0 Windows NT 6.1; WOW64; rv:41.0 Gecko/ Firefox/41.0 /code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code: javascript var array 4,5,6,7,8 ; var singleVal 0; // Only change code below this line. // Only change code above this line. FUNCTION {return singleVal;} ; singleVal should have been set to the result of you reduce operation : change "you" to "your"
thanks for pointing this out!

"});" ], "tests":[  "assert(singleVal == 30, 'message: singleVal should have been set to the result of you reduce operation.');",   "assert(singleVal == 30, 'message: singleVal should have been set to the result of your reduce operation.');",  "assert(editor.getValue().match(/.reduce(/gi), 'message: You should have made use of the reduce method.');" ], "challengeSeed":[


Question:
I can see my certificate at when I am logged in, but If I open that link in a new incognito tab this message is displayed: ! But my github is linked ! Am I doing something wrong or there is an extra step I need to do?
Also It says instead of on incognito.
Patch on the way.
Thank you for your hard work!
Patch Is live on beta. It should be in production shortly.

return Observable.just(user); } return findUserByUsername$(username, { <ins> isGithubCool: true, </ins> isFrontEndCert: true, isFullStackCert: true, <ins> isHonest: true, </ins> completedChallenges: true, username: true, name: true


Question: <img width="1298" alt="screen shot 2015-10-09 at 11 07 27 am" src=""Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:

"assert($("a").text().match(/catsphotos/gi), 'Your a element should have the anchor text of "cat photos"')", "assert($("p") && $("p").length > 2, 'Create a new p element around your a element.')", "assert($("a[href="http://www.freecatphotoapp.com"]").parent().is("p"), 'Your a element should be nested within your new p element.')",  "assert($("p").text().match(/^Viewsmores/gi), 'Your p element should have the text "View more " (with a space after it).')",   "assert($("p").text().match(/^s*Viewsmores/gi), 'Your p element should have the text "View more " (with a space after it).')",  "assert(!$("a").text().match(/Viewsmore/gi), 'Your a element should not have the text "View more".')", "assert(editor.match(/
/g) && editor.match(/<p/g) && editor.match(/
/g).length === editor.match(/<p/g).length, 'Make sure each of your p elements has a closing tag.')", "assert(editor.match(//g) && editor.match(/<a/g) && editor.match(//g).length === editor.match(/<a/g).length, 'Make sure each of your a elements has a closing tag.')"


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

"slasher([1, 2, 3], 2);" ], "tests": [  "assert.deepEqual(slasher([1, 2, 3], 2), [3], 'message: slasher([1, 2, 3], 2, [3]) should return [3].');",   "assert.deepEqual(slasher([1, 2, 3], 2), [3], 'message: slasher([1, 2, 3], 2) should return [3].');",  "assert.deepEqual(slasher([1, 2, 3], 0), [1, 2, 3], 'message: slasher([1, 2, 3], 0) should return [1, 2, 3].');",  "assert.deepEqual(slasher([1, 2, 3], 9), [], 'message: slasher([1, 2, 3], 9) should return [].');"   "assert.deepEqual(slasher([1, 2, 3], 9), [], 'message: slasher([1, 2, 3], 9) should return [].');", "assert.deepEqual(slasher([1, 2, 3], 4), [], 'message: slasher([1, 2, 3], 4) should return [].');"  ], "MDNlinks": [ "Array.slice()",


Question:
The left sidebar has var ourArray = []; But the code only has ourArray = []; Then the code has var myArray = []; It runs with our without the pink var (declaration I think)... Just might want to fix the typo or have it be consistent or explained that it will work either way... Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
This is a typo. The seed code is missing in front of the initial declaration of ourArray. While this will run it's a bad practice and should be fixed.
thanks for pointing this out! Confirmed and marked as easy fixable. Also I've renamed the title of the issue, please, provide more descriptive title next time, thanks.

"assert.deepEqual(myArray, [0,1,2,3,4], 'message: myArray should equal [0,1,2,3,4].');" ], "challengeSeed":[  "ourArray = [];",   "var ourArray = [];",  "for(var i = 0; i < 5; i++){", "  ourArray.push(i);", "}",


Question:
This challenge didn't say both p should be in red-text, and the 2nd p shown in black in next challenge (Waypoint: Set the Font Family of an Element).
You are absolutely right about this. I've put in a PR to remove the erroneous test :smile:
:smiley:
Please don't close the issue until the PR has been merged. This way we can ensure that the issue eventually does get fixed (though I'm looking at the PR right now so that won't be a problem this time, often PRs don't get looked at for long periods of time and having the issue around that the PR resolves can speed up the process). Thanks :)
Sorry.. And thanks for the reminding~
^ and as you can see, when I merged the PR the issue auto-closed :)
Wow, coool! I got to spend some time to know this system~

"assert($("p").length > 1, 'You need 2 p elements with Kitty Ipsum text.')", "assert(editor.match(/
/g) && editor.match(/
/g).length === editor.match(/<p/g).length, 'Make sure each of your p elements has a closing tag.')", "assert.isTrue((/Purrs+jumps+eat/gi).test($("p").text()), 'Your p element should contain the first few words of the provided additional kitty ipsum text.')",  "assert($("p.red-text").length === 2, 'Give each of your p elements the red-text class.')",  "assert($("p").css("font-size") === "16px", 'Give elements with the red-text class a font-size of 16px.')" ], "challengeSeed": [


Question:
Lesson text repeats itself: "You can use radio buttons for questions where you want the user to only give you one answer. Radio buttons are a type of input. Each of your radio buttons should be nested within its own label element. All related radio buttons should have the same name attribute. Here's an example of a radio button: <label<input type="radio" name="indoor-outdoor"Indoor</label. Add to your form a pair of radio buttons. Each radio button should be nested within its own label element. They should share a common name attribute. One should have the option of indoor and the other should have the option of outdoor."
It is a style choice of whoever wrote this lesson. A bug would be error in the code that stopped the script or program from executing as intended.

"All related radio buttons should have the same name attribute.", "Here's an example of a radio button:", "<label><input type="radio" name="indoor-outdoor"> Indoor</label>",  "Add to your form a pair of radio buttons. Each radio button should be nested within its own label element. They should share a common name attribute. One should have the option of indoor and the other should have the option of outdoor."   "Add a pair of radio buttons to your form. One should have the option of indoor and the other should have the option of outdoor."  ], "tests": [ "assert($('input[type="radio"]').length > 1, 'Your page should have two radio button elements.')",


Question: <img width="993" alt="screen shot 2015-10-23 at 3 08 25 pm" src=""in this challenge you are supposed to change the first line: h2 class="red-text"CatPhotoApp</h2into.... this next line. h2 class="red-text text-center"CatPhotoApp</h2however if you just put in h2 class="text-center"CatPhotoApp</h2it sends you through and says you're awesome and stuff, however you lose the red text in the process. I'm new to FreeCodeCamp and I know this isn't a huge issue, I just wanted to contribute.

"&#60h2 class="red-text text-center"&#62your text&#60/h2&#62" ], "tests": [  "assert($("h2").hasClass("text-center"), 'Your h2 element should be centered by applying the class text-center')"   "assert($("h2").hasClass("text-center"), 'Your h2 element should be centered by applying the class text-center')", "assert($("h2").hasClass("red-text"), 'Your h2 element should still have the class red-text')"  ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",


Question:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. Text for objective two says "Use rgb to give your body element the background-color of black. For example body { color: rgb(0, 0, 0); }." There should be "background-" in front of the "color" in the example.
Fixed with

], "tests": [ "assert($("body").css("background-color") === "rgb(0, 0, 0)", 'Your body element should have a black background.')",  "assert(editor.match(/rgbs*(s*0s*,s*0s*,s*0s*)/ig), 'Use rgb to give your body element the background-color of black. For example body { color: rgb(0, 0, 0); }.')"   "assert(editor.match(/rgbs*(s*0s*,s*0s*,s*0s*)/ig), 'Use rgb to give your body element the background-color of black. For example body { background-color: rgb(0, 0, 0); }.')"  ], "challengeSeed": [ "


Question:
Within the challenge it instructs you to create bullets by replacing all the p elements with(no spaces of course) < li elements to get a bulleted list. When I follow it as instructed it leaves my style coding visible (class="red-text") is then displayed. When I remove the end closure < l i (obviously no spaces), it leaves everything intact but the practice won't allow me to advance without adding the closure... even though the closure is at the end of the style portion of my closure Example: For it to look right I remove the end closure making it < l i this happens: <li class="red-text"Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</liBUT for it to be marked correctly I have to Complete the closure < li class="red-text"Kitty ipsum...... and it looks like this: <liclass="red-text"Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</liSo In order to fix it, and still make sure my code isn't displayed on my final work, i'd have to remove my styling from the code or simply leave it exposed See below for the link to the segment and below that is my full code Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
What the instructions for this challenge mean to be asking is for you to completely remove the bottom two paragraphs and put an unordered list at the bottom instead. This avoids the problem you're running into of having an anchor tag in the middle of your block (which is not valid markup). I agree that the wording is confusing since there is another tag earlier in the page with other types of tags in between. This should be clarified to reflect that the bottom two tags should be removed and a three item list created in it's place.
I can't complete the challenge either

"  <li>cheese</li>", "</ul>", "would create a bullet point-style list of "milk" and "cheese".",  "Replace your p elements with an unordered list of three things that cats love."   "Remove the last two p elements and create an unordered list of three things that cats love at the bottom of the page."  ], "tests": [ "assert($("ul").length > 0, 'Create a ul element.')",


Question: I want to suggest that, at this point, in addition to the comment about the block element ' stretch to fill your page's entire horizontal space.', there is a comment that any element following it will flow to a "new line". You could argue that is [almost] "assumed". But I believe it should be stated.

"id": "bad87fee1348cd8acef08812", "title": "Create a Block Element Bootstrap Button", "description": [  "Normally, your button elements are only as wide as the text that they contain. By making them block elements, your button will stretch to fill your page's entire horizontal space.",   "Normally, your button elements are only as wide as the text that they contain. By making them block elements, your button will stretch to fill your page's entire horizontal space and any elements following it will flow onto a "new line" below the block.",  "This image illustrates the difference between inline elements and block-level elements:", "", "Note that these buttons still need the btn class.",

"title": "Add ID Attributes to Bootstrap Elements", "description": [ "Recall that in addition to class attributes, you can give each of your elements an id attribute.",  "Each id should be unique to a specific element.",   "Each id must be unique to a specific element and used only once per page.",  "Let's give a unique id to each of our div elements of class well.", "Remember that you can give an element an id like this: <div class="well" id="center-well">", "Give the well on the left the id of left-well. Give the well on the right the id of right-well."


Question:
There are missing spaces between some words in: "welcomeToBooleansfunction so that it will return trueinstead of falsewhen the run button is clicked."
There is a similar issue with "Waypoint: Use Bracket Notation to Find the Nth Character in a String" In the first paragraph and the third paragraph. As does "Waypoint: Manipulate Arrays With unshift" in both paragraphs.

"description": [ "In computer science, data structures are things that hold data. JavaScript has seven of these. For example, the Number data structure holds numbers.", "Let's learn about the most basic data structure of all: the Boolean. Booleans can only hold the value of either true or false. They are basically little on-off switches.",  "Let's modify our welcomeToBooleansfunction so that it will return trueinstead of falsewhen the run button is clicked."   "Let's modify our welcomeToBooleans function so that it will return true instead of false when the run button is clicked."  ], "tests": [ "assert(typeof(welcomeToBooleans()) === 'boolean', 'message: The welcomeToBooleans() function should return a boolean (true/false) value.');",

"title": "Declare String Variables", "description": [ "In the previous challenge, we used the code var myName = "your name". This is what we call a String variable. It is nothing more than a "string" of characters. JavaScript strings are always wrapped in quotes.",  "Now let's create two new string variables: myFirstNameand myLastName and assign them the values of your first and last name, respectively."   "Now let's create two new string variables: myFirstName and myLastName and assign them the values of your first and last name, respectively."  ], "tests": [ "assert((function(){if(typeof(myFirstName) !== "undefined" && typeof(myFirstName) === "string" && myFirstName.length > 0){return true;}else{return false;}})(), 'message: myFirstName should be a string with at least one character in it.');",

"id": "bg9997c9c69feddfaeb9bdef", "title": "Manipulate Arrays With unshift()", "description": [  "Now that we've learned how to shiftthings from the start of the array, we need to learn how to unshiftstuff back to the start.", "Let's take the code we had last time and unshiftthis value to the start: "Paul"."   "Now that we've learned how to shift things from the start of the array, we need to learn how to unshift stuff back to the start.", "Let's take the code we had last time and unshift this value to the start: "Paul"."  ], "tests": [ "assert((function(d){if(typeof(d[0]) === "string" && d[0].toLowerCase() == 'paul' && d[1] == 23 && d[2][0] != undefined && d[2][0] == 'dog' && d[2][1] != undefined && d[2][1] == 3){return true;}else{return false;}})(myArray), 'message: myArray should now have ["Paul", 23, ["dog", 3]]).');"


Question:
I suspect there is some text missing from this (it makes no sense): "We can do this by replacing the . part of our regular expression with the current regular expression with the word and." My suggested verbiage would be: "We can do this by replacing the . in our regular expression with the string we wish to match (the word 'and')." Secondly, let me suggest "g means that we want to search the entire string for this pattern instead of just the first match." should be reworded to "g stands for 'global' and means that we want to search the entire string for this pattern instead of just the first match." This will be a great aid to students in remembering the parameter.
Likewise, in "Waypoint: Find Numbers with Regular Expressions" it should be mentioned that represents a digit. The proper association goes a long way in retention of new concepts and ideas.

"i means that we want to ignore the case (uppercase or lowercase) when searching for the pattern.", "Regular expressions are written by surrounding the pattern with / symbols.", "Let's try selecting all the occurrences of the word and in the string Ada Lovelace and Charles Babbage designed the first computer and the software that would have run on it.",  "We can do this by replacing the . part of our regular expression with the current regular expression with the word and."   "We can do this by replacing the . part of our regular expression with the word and."  ], "tests": [ "assert(test==2, 'message: Your regular expression should find two occurrences of the word and.');",