{"action":"created","issue":{"url":"https://api.github.com/repos/FormidableLabs/radium/issues/788","repository_url":"https://api.github.com/repos/FormidableLabs/radium","labels_url":"https://api.github.com/repos/FormidableLabs/radium/issues/788/labels{/name}","comments_url":"https://api.github.com/repos/FormidableLabs/radium/issues/788/comments","events_url":"https://api.github.com/repos/FormidableLabs/radium/issues/788/events","html_url":"https://github.com/FormidableLabs/radium/issues/788","id":166423248,"number":788,"title":"The Road to 1.0","user":{"login":"alexlande","id":808159,"avatar_url":"https://avatars.githubusercontent.com/u/808159?v=3","gravatar_id":"","url":"https://api.github.com/users/alexlande","html_url":"https://github.com/alexlande","followers_url":"https://api.github.com/users/alexlande/followers","following_url":"https://api.github.com/users/alexlande/following{/other_user}","gists_url":"https://api.github.com/users/alexlande/gists{/gist_id}","starred_url":"https://api.github.com/users/alexlande/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexlande/subscriptions","organizations_url":"https://api.github.com/users/alexlande/orgs","repos_url":"https://api.github.com/users/alexlande/repos","events_url":"https://api.github.com/users/alexlande/events{/privacy}","received_events_url":"https://api.github.com/users/alexlande/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FormidableLabs/radium/labels/discussion","name":"discussion","color":"bfdadc"},{"url":"https://api.github.com/repos/FormidableLabs/radium/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-07-19T20:06:14Z","updated_at":"2016-07-21T21:27:52Z","closed_at":null,"body":"Development on Radium has stalled lately. The timing of this is unfortunate because there are several large bugs in the project that need to be dealt with soon. I have some thoughts about what our next steps should be to get those resolved and make Radium more robust going forward.\r\n\r\n## The Problems\r\n\r\nThere are two primary issues with Radium at the moment, in my opinion.\r\n\r\n### Vendor Prefixing/Fallback Values\r\n\r\nReact 15 broke the (admittedly hacky) behavior we were relying on to provide vendor prefixes and fallback values in inline styles. This is very bad. For discussion of this issue, see #602. The React team is aware of the issue and there is a WIP PR to resolve it (https://github.com/facebook/react/pull/6701), but it's not clear if it's going to land and I don't think we should count on it. \r\n\r\n### Pseudo-Classes Are Hard\r\n\r\nRight now, we emulate the CSS pseudo-classes `:hover`, `:focus`, and `:active`. Unfortunately for us, there are a whole slew of bugs (both now and in the past) related to this behavior, because there are a lot of edge cases around these behaviors.\r\n\r\n## The Solution\r\n\r\nBoth of these issues would be resolved by generating CSS in a `style` tag using the `addCSS` behavior that we use for media queries. For discussion of this idea, see #510. Moving in this direction (as [Aphrodite](https://github.com/Khan/aphrodite) has done, as a good example) would mean that all of the issues with both inline styles themselves (like fallback values) and emulating browser behavior would go away. It would also mean that *any* pseudo-elements/classes/selectors would work. This would remove a lot of behavior that Radium emulates now, and would be extremely flexible.\r\n\r\nThis would be a breaking change as some APIs, like `getState`, would go away completely. Other than that, my hope is that Radium would largely work as it does now, as the API is very good. The only real change would be the way that styles are applied.\r\n\r\n## Known Issues\r\n\r\nOne thing that is likely to hold us back here is the ongoing issue with media query class names and unique-ness. See #635. This is something that we would need to handle (and that we need to deal with as soon as possible anyway, because it's a major bug in its own right) before we could ship with even more generated CSS.\r\n\r\n## Thoughts?\r\n\r\nI would love to hear any thoughts on this idea. I believe it's the right way to go, but want to hear from the community."},"comment":{"url":"https://api.github.com/repos/FormidableLabs/radium/issues/comments/234389571","html_url":"https://github.com/FormidableLabs/radium/issues/788#issuecomment-234389571","issue_url":"https://api.github.com/repos/FormidableLabs/radium/issues/788","id":234389571,"user":{"login":"xcoderzach","id":94472,"avatar_url":"https://avatars.githubusercontent.com/u/94472?v=3","gravatar_id":"","url":"https://api.github.com/users/xcoderzach","html_url":"https://github.com/xcoderzach","followers_url":"https://api.github.com/users/xcoderzach/followers","following_url":"https://api.github.com/users/xcoderzach/following{/other_user}","gists_url":"https://api.github.com/users/xcoderzach/gists{/gist_id}","starred_url":"https://api.github.com/users/xcoderzach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xcoderzach/subscriptions","organizations_url":"https://api.github.com/users/xcoderzach/orgs","repos_url":"https://api.github.com/users/xcoderzach/repos","events_url":"https://api.github.com/users/xcoderzach/events{/privacy}","received_events_url":"https://api.github.com/users/xcoderzach/received_events","type":"User","site_admin":false},"created_at":"2016-07-21T21:27:52Z","updated_at":"2016-07-21T21:27:52Z","body":"When you append a style to a stylesheet, chrome devtools puts a \"Recalculate Style\" in the timeline, which usually takes significantly longer than just inlining the style.\r\n\r\nI ran into this when building an animation library.  I tried to build styles, and then insert them into a sheet and then apply a class, and there was a huge slowdown.  Due to \"Recalculating Styles\""}}
{"actor":{"display_login":"xcoderzach"}}