{"action":"created","issue":{"url":"https://api.github.com/repos/cognitect/transit-ruby/issues/19","repository_url":"https://api.github.com/repos/cognitect/transit-ruby","labels_url":"https://api.github.com/repos/cognitect/transit-ruby/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/cognitect/transit-ruby/issues/19/comments","events_url":"https://api.github.com/repos/cognitect/transit-ruby/issues/19/events","html_url":"https://github.com/cognitect/transit-ruby/pull/19","id":181967920,"number":19,"title":"Fix nested caches","user":{"login":"jwkoelewijn","id":389317,"avatar_url":"https://avatars.githubusercontent.com/u/389317?v=3","gravatar_id":"","url":"https://api.github.com/users/jwkoelewijn","html_url":"https://github.com/jwkoelewijn","followers_url":"https://api.github.com/users/jwkoelewijn/followers","following_url":"https://api.github.com/users/jwkoelewijn/following{/other_user}","gists_url":"https://api.github.com/users/jwkoelewijn/gists{/gist_id}","starred_url":"https://api.github.com/users/jwkoelewijn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwkoelewijn/subscriptions","organizations_url":"https://api.github.com/users/jwkoelewijn/orgs","repos_url":"https://api.github.com/users/jwkoelewijn/repos","events_url":"https://api.github.com/users/jwkoelewijn/events{/privacy}","received_events_url":"https://api.github.com/users/jwkoelewijn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-10T09:12:05Z","updated_at":"2016-10-10T13:05:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cognitect/transit-ruby/pulls/19","html_url":"https://github.com/cognitect/transit-ruby/pull/19","diff_url":"https://github.com/cognitect/transit-ruby/pull/19.diff","patch_url":"https://github.com/cognitect/transit-ruby/pull/19.patch"},"body":"Although Pull Requests are not accepted, it seemed to be the best way to describe the problem and its solution.\r\n\r\nOnly write the node to the cache when decoding (not the parsed value), because this is what the writer does as well. Writing the parsed value to the cache results in a different cache when reading. This only seems to be a problem when tag-names are used that are used as map values as well. In the original decoder, both '~#name' and 'name' would be stored as 'name', while the writer would store both '~#name' and 'name' separately\r\n\r\nWhen we do this, it is necessary to apply #decode again on a string value from the cache, so we handle nested data as well.\r\n\r\nAdded a test case that would fail before, but now succeeds (while existing tests pass as well)."},"comment":{"url":"https://api.github.com/repos/cognitect/transit-ruby/issues/comments/252612670","html_url":"https://github.com/cognitect/transit-ruby/pull/19#issuecomment-252612670","issue_url":"https://api.github.com/repos/cognitect/transit-ruby/issues/19","id":252612670,"user":{"login":"dchelimsky","id":1075,"avatar_url":"https://avatars.githubusercontent.com/u/1075?v=3","gravatar_id":"","url":"https://api.github.com/users/dchelimsky","html_url":"https://github.com/dchelimsky","followers_url":"https://api.github.com/users/dchelimsky/followers","following_url":"https://api.github.com/users/dchelimsky/following{/other_user}","gists_url":"https://api.github.com/users/dchelimsky/gists{/gist_id}","starred_url":"https://api.github.com/users/dchelimsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchelimsky/subscriptions","organizations_url":"https://api.github.com/users/dchelimsky/orgs","repos_url":"https://api.github.com/users/dchelimsky/repos","events_url":"https://api.github.com/users/dchelimsky/events{/privacy}","received_events_url":"https://api.github.com/users/dchelimsky/received_events","type":"User","site_admin":false},"created_at":"2016-10-10T13:05:53Z","updated_at":"2016-10-10T13:05:53Z","body":"Thanks for this @jwkoelewijn. It's going to be a bit before I can review this properly, but I will, and I appreciate the analysis/report."}}
{"actor":{"display_login":"dchelimsky"}}