mike-burns/github — Issue #13: milestones and issuesForRepo sometimes fail with "Given something besides a String on the JSON"
Author: joeyh
Created: 2012-01-31 20:50:32+00:00
State: open

Sorry to keep these coming, but I seem to have some users now, who are reporting them. Yikes. :)

Prelude Github.Issues.Milestones> milestones "kepstin" "riker"
Left (JsonError "Given something besides a String on the JSON: [{\"due_on\":\"2012-02-29T08:00:00Z\",\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":3,\"title\":\"2012-02 Code Drop\",\"created_at\":\"2012-01-31T06:44:33Z\",\"number\":2,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/2\"},{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"}]")

Prelude Github.Issues> issuesForRepo "kepstin" "riker" []
Left (JsonError "Given something besides a String on the JSON: [{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:43:22Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/29\",\"title\":\"Mac OS X Support.\",\"created_at\":\"2012-01-31T17:42:56Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":29,\"body\":\"The latest version of Gtk+ is supposed to have better native Mac support than ever, see about using it.\\r\\n\\r\\nSince I don't actually own a modern mac, this issue requires that someone with a mac helps out if they'd like to see this happen. Please comment on the defect if you can help!\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3039385,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/29\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T20:32:31Z\",\"comments\":1,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/28\",\"title\":\"Windows Support\",\"created_at\":\"2012-01-31T17:41:03Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":28,\"body\":\"While I do like Linux, I\226\128\153d also love a great music player that would work on Windows as well. I know Gstreamer and Gtk+ are available for windows - look into setting up a build system and making a package available.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3039350,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/28\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:11:45Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/27\",\"title\":\"Picard integration\",\"created_at\":\"2012-01-31T17:11:19Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":27,\"body\":\"Unless Riker grows support for updating tags itself, it would be nice to be able to easily retag files in picard. At its simplest, this might mean being able to lanuch picard with the selected files - or even just making sure that drag-and-drop from Riker into picard works correctly.\\r\\n\\r\\nFrom #13\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3038943,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/27\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:09:28Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/26\",\"title\":\"MusicBrainz website integration\",\"created_at\":\"2012-01-31T17:09:28Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":26,\"body\":\"In particular, you should be able to open the MusicBrainz website at a particular entity\226\128\153s page easily. An additional feature may be to launch directly into the editor.\\r\\n\\r\\nPart of #13\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3038918,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/26\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T10:45:48Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/25\",\"title\":\"Data import/export\",\"created_at\":\"2012-01-31T10:45:48Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":25,\"body\":\"This is a thing I want with every program I ever use, if possible: there should be some sort of data import/export mechanism. This should apply to metadata (to limit MB API hits whenever possible) as well as configuration information/options, and presuming #3 is implemented, statistics information. Basically, I should be able to dump my information, completely reinstall my system (putting music the same place it was previously), reinstall Riker, import data, and have my Riker experience be the same as before.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3034057,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/25\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:33:30Z\",\"comments\":1,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/24\",\"title\":\"AcoustID integration\",\"created_at\":\"2012-01-31T10:37:11Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":24,\"body\":\"I'm not 100% sure what this would entail (probably mostly submission of AcoustIDs, since this isn't a tagger), but as AcoustID is now a fairly core part of the MusicBrainz ecosystem, I think Riker should do whatever's applicable to integrate it.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033952,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/24\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T10:27:54Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/23\",\"title\":\"Lyrics support\",\"created_at\":\"2012-01-31T10:27:54Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":23,\"body\":\"MB's got a lyrics API call, may as well use it. musiXmatch is an additional option that might produce more results.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033848,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/23\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T10:25:05Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/22\",\"title\":\"Watch pending edits and update when applied\",\"created_at\":\"2012-01-31T10:25:05Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"},{\"color\":\"d7e102\",\"name\":\"requires mb changes\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/requires+mb+changes\"}],\"number\":22,\"body\":\"Probably no API call that's good for doing this, but it would be neat if Riker knew enough to queue metadata updates based on edit expiration.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033820,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/22\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T10:17:03Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/21\",\"title\":\"Data provenance information\",\"created_at\":\"2012-01-31T10:17:03Z\",\"labels\":[{\"color\":\"d7e102\",\"name\":\"requires mb changes\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/requires+mb+changes\"},{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":21,\"body\":\"It would be really cool if Riker had a way of displaying information about data freshness and provenance (i.e. when was it last edited, and by who). Ideally this is at a more fine-grained level than \\\"this artist was last updated {whenever} by {whoever}\\\", more along the lines of \\\"this artist's country was last changed {whenever} by {whoever} from {whatever} to {current value}\\\". If MB ever gets a better data quality system, this could also be included (as it stands I doubt the data quality is of any usefulness to Riker).\\r\\n\\r\\nI'm not sure the MB API has enough information provided to make this possible, but it would be pretty sweet. (Likewise would be pretty sweet on the MB site, but this is the wrong issue tracker for that)\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033737,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/21\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T20:34:21Z\",\"comments\":3,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/20\",\"title\":\"i18n\",\"created_at\":\"2012-01-31T10:05:36Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":20,\"body\":\"Riker should be totally i18n-friendly from the beginning. Wherever possible, assuming musicbrainz-server is ever satisfactorily internationalized, translations should be aligned with other MB tools such as Picard and the server.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033619,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/20\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:38:03Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/19\",\"title\":\"Cover Art support\",\"created_at\":\"2012-01-31T09:59:12Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":19,\"body\":\"Probably obvious, but Riker should grab cover art for things (likely optionally/by preference), from the Cover Art Archive (ideally) or possibly also Amazon or cover art AR links.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033526,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/19\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T09:57:05Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/18\",\"title\":\"Shoutcast/Icecast/streaming support\",\"created_at\":\"2012-01-31T09:57:05Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":18,\"body\":\"Barring fancy complicated synchronization support (see #17), or maybe in addition to it, being able to broadcast what you're listening to by way of a streaming server like Shoutcast, Icecast, or something homebrew. This sidesteps the problem, mentioned in #17, of two computers being, conceptually, the same collection. It's also likely GStreamer already has something to interact with Shoutcast/Icecast.\\r\\n\\r\\nWith MB integration, it should be possible to provide much nicer metadata for streaming clients than would otherwise be possible, too!\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033503,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/18\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T09:53:07Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/17\",\"title\":\"Data synchronization/multiple computer support\",\"created_at\":\"2012-01-31T09:53:07Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":17,\"body\":\"Some of this can be done via MB collections, ratings, tags; some can't. It'd be neat (probably not initial-release material, but interesting) to have Riker able to synchronize several instances of itself. Especially for things like statistics collection, I don't really want to think of my laptop and my desktop as two separate silos of information \226\128\148 they're the same collection, and Riker should be able to treat them as such!\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033466,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/17\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T20:31:13Z\",\"comments\":2,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/16\",\"title\":\"Video support\",\"created_at\":\"2012-01-31T09:43:17Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":16,\"body\":\"Note: *Ridiculously* aspirational. I certainly don't expect nor want this in the initial release.\\r\\n\\r\\nIt would be really cool if Riker understood videos too, especially so if it has YouTube integration (or similar).\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033341,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/16\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T09:38:56Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/15\",\"title\":\"Wikipedia summaries\",\"created_at\":\"2012-01-31T09:38:56Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":15,\"body\":\"A feature I wish the MusicBrainz site itself had (well, more accurately, which I add via userscript) is wikipedia-derived summaries for entities. Riker should totally include wikipedia summaries on its detail tabs/pages.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3033268,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/15\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:41:33Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/14\",\"title\":\"MusicBrainz tag integration\",\"created_at\":\"2012-01-31T09:30:58Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":14,\"body\":\"See the issue about ratings: if we're gonna integrate with MB, let's integrate with all its features. Who cares if tags are used more for editing than for music-player use? Maybe Riker can change that.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033154,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/14\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:42:03Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/12\",\"title\":\"Ratings support via MusicBrainz ratings\",\"created_at\":\"2012-01-31T09:25:42Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":12,\"body\":\"If we're gonna do a MusicBrainz player we should use its features: Ratings are a fairly under-utilized one. Not sure what this requires since I'm not a huge user of ratings in general.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033087,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/12\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:43:06Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/11\",\"title\":\"MusicBrainz Collection support\",\"created_at\":\"2012-01-31T09:24:33Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":11,\"body\":\"Riker should be able to manage your collection(s) on MB. Not sure everything this entails, but it should be there!\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3033076,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/11\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T16:45:31Z\",\"comments\":1,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/10\",\"title\":\"Allow using a DB other than SQLite\",\"created_at\":\"2012-01-31T08:42:23Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":10,\"body\":\"Not that SQLite isn't fantastic, but some of us already have PostgreSQL or MySQL installed on our systems (e.g., those of us who run musicbrainz-server already!) and plus, your database backend should be all nice and abstracted anyway.\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3032695,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/10\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:02:16Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/9\",\"title\":\"Support library deduplication\",\"created_at\":\"2012-01-31T08:05:20Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":9,\"body\":\"Detect when multiple copies of the same recording are available, and notify the user. Optionally allow selecting a preferred version that will be used in place of another version - e.g. because it's higher quality.\\r\\nSupport shuffling recordings rather than file, and pick the best file if multiple files are available for a recording.\\r\\nAlso important: support a mode where when you're playing a release in order, it will always use the file from that release rather than an alternate version (e.g. for gapless or album replaygain)\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3032450,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/9\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T06:53:53Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/8\",\"title\":\"Autogenerate vala bindings for libmusicbrainz-4\",\"created_at\":\"2012-01-31T06:53:53Z\",\"labels\":[],\"number\":8,\"body\":\"I received a helpful email with a script to generate the bindings which could be adapted. Integrate it, in order to complete the bindings.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":\"2012-02-29T08:00:00Z\",\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":3,\"title\":\"2012-02 Code Drop\",\"created_at\":\"2012-01-31T06:44:33Z\",\"number\":2,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/2\"},\"id\":3032034,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/8\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T06:52:45Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/7\",\"title\":\"Design database schema for AR storage.\",\"created_at\":\"2012-01-31T06:52:45Z\",\"labels\":[],\"number\":7,\"body\":\"\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":\"2012-02-29T08:00:00Z\",\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":3,\"title\":\"2012-02 Code Drop\",\"created_at\":\"2012-01-31T06:44:33Z\",\"number\":2,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/2\"},\"id\":3032030,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/7\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T06:48:51Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"html_url\":\"https://github.com/kepstin/riker/issues/6\",\"title\":\"Support importing recordings\",\"created_at\":\"2012-01-31T06:48:51Z\",\"labels\":[],\"number\":6,\"body\":\"Now that the core of artist importing is working, add support for importing recordings. At the very least, standalone recordings.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":\"2012-02-29T08:00:00Z\",\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":3,\"title\":\"2012-02 Code Drop\",\"created_at\":\"2012-01-31T06:44:33Z\",\"number\":2,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/2\"},\"id\":3032008,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/6\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T06:50:06Z\",\"comments\":2,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/5\",\"title\":\"daemon mode/MPD compatibility mode\",\"created_at\":\"2012-01-31T06:34:59Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":5,\"body\":\"It would be awesome if I could keep using my MPD client to connect to Riker, at least when I'm not doing things like constructing complicated fancy playlists or looking at ARs -- i.e., for the times when I really _do_ just want a \\\"normal music player.\\\"\\r\\n\\r\\nAlso, all my scripts assume MPD already, how else would I advertise what I'm listening to in IRC?!\",\"assignee\":null,\"closed_at\":null,\"milestone\":null,\"id\":3031925,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/5\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:00:57Z\",\"comments\":2,\"state\":\"open\",\"user\":{\"gravatar_id\":\"001951288ec62dc56ec4a3908c3348f6\",\"login\":\"jacobbrett\",\"url\":\"https://api.github.com/users/jacobbrett\",\"avatar_url\":\"https://secure.gravatar.com/avatar/001951288ec62dc56ec4a3908c3348f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":1274826},\"html_url\":\"https://github.com/kepstin/riker/issues/4\",\"title\":\"Gapless playback support\",\"created_at\":\"2012-01-31T05:38:09Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":4,\"body\":\"http://en.wikipedia.org/wiki/Gapless_playback \195\160 la foobar2000.\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":null,\"id\":3031611,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/4\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T17:01:52Z\",\"comments\":2,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/3\",\"title\":\"fine-grained local statistics/logging\",\"created_at\":\"2012-01-31T05:37:43Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":3,\"body\":\"I'd like to have finer-grained local statistics than last.fm can provide; the sorts of questions I'm trying to answer here are:\\r\\n\\r\\n* which songs do I frequently skip (probably mostly in random listening) early enough that they don't scrobble\\r\\n* time-based listening tracking\\r\\n* tracking of songs shorter than last.fm's 30-second cutoff\\r\\n* which sequences of songs do I like (i.e., pairs of songs that I frequently don't skip past)\\r\\n* full-album listens in sequence versus random plays (partially covered by the above)\\r\\n* stats normalized against various quantities like number of songs (or net playtime of songs) by the artist in my collection or the amount of time I've had the artist in my collection (\\\"Would The Beatles still be at the top of my list if I'd had X, Y, Z artists back in 2007?\\\")\\r\\n\\r\\nMostly I only care about the data collection for early releases; implementing specific statistics can be done later if the data's there.\\r\\n\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3031610,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/3\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T05:25:52Z\",\"comments\":0,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/2\",\"title\":\"replaygain support\",\"created_at\":\"2012-01-31T05:25:24Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":2,\"body\":\"I know this to be planned via IRC, but replaygain support is a must!\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3031545,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/2\"},{\"pull_request\":{\"patch_url\":null,\"html_url\":null,\"diff_url\":null},\"updated_at\":\"2012-01-31T09:45:56Z\",\"comments\":1,\"state\":\"open\",\"user\":{\"gravatar_id\":\"bb82047b8a0bdf018f053debeb8cf665\",\"login\":\"ianmcorvidae\",\"url\":\"https://api.github.com/users/ianmcorvidae\",\"avatar_url\":\"https://secure.gravatar.com/avatar/bb82047b8a0bdf018f053debeb8cf665?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":106004},\"html_url\":\"https://github.com/kepstin/riker/issues/1\",\"title\":\"last.fm scrobbling\",\"created_at\":\"2012-01-31T05:24:15Z\",\"labels\":[{\"color\":\"02d7e1\",\"name\":\"wishlist\",\"url\":\"https://api.github.com/repos/kepstin/riker/labels/wishlist\"}],\"number\":1,\"body\":\"I'm sure it's in the plans, but riker had darn well better be able to scrobble. Ideally, it should be able to scrobble to multiple configurable URLs, to support things like libre.fm (and potentially other sites).\",\"assignee\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"closed_at\":null,\"milestone\":{\"due_on\":null,\"state\":\"open\",\"creator\":{\"gravatar_id\":\"d3ec3cbb9cbd3d292c1abff8d93d1087\",\"login\":\"kepstin\",\"url\":\"https://api.github.com/users/kepstin\",\"avatar_url\":\"https://secure.gravatar.com/avatar/d3ec3cbb9cbd3d292c1abff8d93d1087?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":38788},\"open_issues\":12,\"title\":\"Feature Release 1\",\"created_at\":\"2012-01-31T05:20:22Z\",\"number\":1,\"description\":\"\",\"closed_issues\":0,\"url\":\"https://api.github.com/repos/kepstin/riker/milestones/1\"},\"id\":3031539,\"url\":\"https://api.github.com/repos/kepstin/riker/issues/1\"}]")