{"action":"created","issue":{"url":"https://api.github.com/repos/mattkrick/cashay/issues/35","repository_url":"https://api.github.com/repos/mattkrick/cashay","labels_url":"https://api.github.com/repos/mattkrick/cashay/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/mattkrick/cashay/issues/35/comments","events_url":"https://api.github.com/repos/mattkrick/cashay/issues/35/events","html_url":"https://github.com/mattkrick/cashay/issues/35","id":157467623,"number":35,"title":"Plans for colocation?","user":{"login":"jsierles","id":82,"avatar_url":"https://avatars.githubusercontent.com/u/82?v=3","gravatar_id":"","url":"https://api.github.com/users/jsierles","html_url":"https://github.com/jsierles","followers_url":"https://api.github.com/users/jsierles/followers","following_url":"https://api.github.com/users/jsierles/following{/other_user}","gists_url":"https://api.github.com/users/jsierles/gists{/gist_id}","starred_url":"https://api.github.com/users/jsierles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsierles/subscriptions","organizations_url":"https://api.github.com/users/jsierles/orgs","repos_url":"https://api.github.com/users/jsierles/repos","events_url":"https://api.github.com/users/jsierles/events{/privacy}","received_events_url":"https://api.github.com/users/jsierles/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mattkrick/cashay/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-30T09:40:47Z","updated_at":"2016-05-30T13:52:23Z","closed_at":null,"body":"First just would like to say this project looks great! Just wondering if there are plans to make colocation possible - this is a huge feature of Relay. And if so, where might be a good starting point to look into support?"},"comment":{"url":"https://api.github.com/repos/mattkrick/cashay/issues/comments/222497244","html_url":"https://github.com/mattkrick/cashay/issues/35#issuecomment-222497244","issue_url":"https://api.github.com/repos/mattkrick/cashay/issues/35","id":222497244,"user":{"login":"mattkrick","id":5514175,"avatar_url":"https://avatars.githubusercontent.com/u/5514175?v=3","gravatar_id":"","url":"https://api.github.com/users/mattkrick","html_url":"https://github.com/mattkrick","followers_url":"https://api.github.com/users/mattkrick/followers","following_url":"https://api.github.com/users/mattkrick/following{/other_user}","gists_url":"https://api.github.com/users/mattkrick/gists{/gist_id}","starred_url":"https://api.github.com/users/mattkrick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattkrick/subscriptions","organizations_url":"https://api.github.com/users/mattkrick/orgs","repos_url":"https://api.github.com/users/mattkrick/repos","events_url":"https://api.github.com/users/mattkrick/events{/privacy}","received_events_url":"https://api.github.com/users/mattkrick/received_events","type":"User","site_admin":false},"created_at":"2016-05-30T13:52:23Z","updated_at":"2016-05-30T13:52:23Z","body":"Good call opening an issue on this, it's definitely on the roadmap, although after #27 subscriptions & #23 TTL. For now, you can still colocate your queries, you just have to make em smaller (maybe I should say Cashay lacks \"query aggregation\" instead?). Ideally, I really want to build a tool that climbs down your tree, collects whatever you need (in this case, query fragments) and then climbs back up to the parent. If you use a CSS library that works server-side, it already does exactly this, it just grabs inline style fragments instead of query fragments. Why not have 1 tool that can serve both purposes? The entity that's causing this pain in react is that there's no concept of a component location. 1 component has many locations in the tree, and 1 location can have many instances. If a user builds a static tree (similar to a react router tree, but deeper than just the route level) then the router, css aggregator, and query aggregator can all use it. \r\n\r\nThe tool tool (let's call it react-tree-climber) would be simple enough. It takes in a `sitemap.js`. For the routes, it spits out the equivalent of a `routes.js`. For CSS and queries, react-tree-climber would have a plugin for Cashay and, eg react-look (inline CSS library). Those plugins are just functions that take in an object & at every node of the tree, it grabs what it can. We could take a page out of the GraphQL book & use the visitor pattern to do this, as it lends itself well to accepting multiple visitor functions so you only climb the tree once (https://github.com/graphql/graphql-js/blob/master/src/language/visitor.js).\r\n\r\nIf you'd like to take a crack at it, I'd be happy to help, but I just can't justify the need to be super critical since I've never come up against the HTTP/1.1 request limit\r\n\r\n"}}
{"actor":{"display_login":"mattkrick"}}