{"action":"created","issue":{"url":"https://api.github.com/repos/knockout/knockout/issues/1603","labels_url":"https://api.github.com/repos/knockout/knockout/issues/1603/labels{/name}","comments_url":"https://api.github.com/repos/knockout/knockout/issues/1603/comments","events_url":"https://api.github.com/repos/knockout/knockout/issues/1603/events","html_url":"https://github.com/knockout/knockout/issues/1603","id":48113017,"number":1603,"title":"Custom Element name must be entered as lowercase string","user":{"login":"kthejoker","id":625949,"avatar_url":"https://avatars.githubusercontent.com/u/625949?v=3","gravatar_id":"","url":"https://api.github.com/users/kthejoker","html_url":"https://github.com/kthejoker","followers_url":"https://api.github.com/users/kthejoker/followers","following_url":"https://api.github.com/users/kthejoker/following{/other_user}","gists_url":"https://api.github.com/users/kthejoker/gists{/gist_id}","starred_url":"https://api.github.com/users/kthejoker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kthejoker/subscriptions","organizations_url":"https://api.github.com/users/kthejoker/orgs","repos_url":"https://api.github.com/users/kthejoker/repos","events_url":"https://api.github.com/users/kthejoker/events{/privacy}","received_events_url":"https://api.github.com/users/kthejoker/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/knockout/knockout/labels/affected:%20few","name":"affected: few","color":"b0d8b0"},{"url":"https://api.github.com/repos/knockout/knockout/labels/api","name":"api","color":"000000"},{"url":"https://api.github.com/repos/knockout/knockout/labels/breaking","name":"breaking","color":"e11d21"},{"url":"https://api.github.com/repos/knockout/knockout/labels/severity:%20nice-to-have","name":"severity: nice-to-have","color":"e1adb1"},{"url":"https://api.github.com/repos/knockout/knockout/labels/type:%20feature","name":"type: feature","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2014-11-07T18:11:33Z","updated_at":"2015-04-16T18:03:56Z","closed_at":null,"body":"If you register your component with a string containing non lowercase alphas, it fails to render if you use it as a custom element directly.\r\n\r\n//works\r\nko.components.register('randomthing', { require: 'mvvm/components/randomthing' } );\r\n\r\n//doesn't work (doesn't fail, just elements don't render at all)\r\nko.components.register('randomThing', { require: 'mvvm/components/randomthing' } );\r\n\r\nNote this is irrespective of whether the HTML itself has mixed case, uppercase, etc.\r\n\r\nUPDATE: I see this now in the documentation, but it reads a bit too soft. Something like \"You MUST use a lowercase string to use the component as a custom element name.\""},"comment":{"url":"https://api.github.com/repos/knockout/knockout/issues/comments/93803805","html_url":"https://github.com/knockout/knockout/issues/1603#issuecomment-93803805","issue_url":"https://api.github.com/repos/knockout/knockout/issues/1603","id":93803805,"user":{"login":"rocketmonkeys","id":4870756,"avatar_url":"https://avatars.githubusercontent.com/u/4870756?v=3","gravatar_id":"","url":"https://api.github.com/users/rocketmonkeys","html_url":"https://github.com/rocketmonkeys","followers_url":"https://api.github.com/users/rocketmonkeys/followers","following_url":"https://api.github.com/users/rocketmonkeys/following{/other_user}","gists_url":"https://api.github.com/users/rocketmonkeys/gists{/gist_id}","starred_url":"https://api.github.com/users/rocketmonkeys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rocketmonkeys/subscriptions","organizations_url":"https://api.github.com/users/rocketmonkeys/orgs","repos_url":"https://api.github.com/users/rocketmonkeys/repos","events_url":"https://api.github.com/users/rocketmonkeys/events{/privacy}","received_events_url":"https://api.github.com/users/rocketmonkeys/received_events","type":"User","site_admin":false},"created_at":"2015-04-16T18:03:56Z","updated_at":"2015-04-16T18:03:56Z","body":"This tripped me up as well.  Uppercase chars are certainly valid in HTML (not so much in XHTML).  But  it seems like knockout should either 1) allow you to use names as is, which covers all cases, or 2) throw a warning if you're feeding it bad data.  The worst result is to accept bad data (upper case chars), and then just not work but without throwing any error.  That's the most confusing (not just if you don't know, but also since uppercase names *should* be accepted for HTML).\r\n\r\n@kthejoker - where did you see the note on the KO docs?  I can't find anything about case sensitivity, but maybe I just missed it."}}