{"action":"created","issue":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1139","repository_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios","labels_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1139/labels{/name}","comments_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1139/comments","events_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1139/events","html_url":"https://github.com/couchbase/couchbase-lite-ios/issues/1139","id":135997369,"number":1139,"title":"ChangeTracker POST request are incompatible with CouchDB","user":{"login":"robertjpayne","id":214288,"avatar_url":"https://avatars.githubusercontent.com/u/214288?v=3","gravatar_id":"","url":"https://api.github.com/users/robertjpayne","html_url":"https://github.com/robertjpayne","followers_url":"https://api.github.com/users/robertjpayne/followers","following_url":"https://api.github.com/users/robertjpayne/following{/other_user}","gists_url":"https://api.github.com/users/robertjpayne/gists{/gist_id}","starred_url":"https://api.github.com/users/robertjpayne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertjpayne/subscriptions","organizations_url":"https://api.github.com/users/robertjpayne/orgs","repos_url":"https://api.github.com/users/robertjpayne/repos","events_url":"https://api.github.com/users/robertjpayne/events{/privacy}","received_events_url":"https://api.github.com/users/robertjpayne/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/bug","name":"bug","color":"e11d21"},{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/compatibility","name":"compatibility","color":"FFFFFF"},{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/f:%20Replication","name":"f: Replication","color":"f8e100"},{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/hotfix","name":"hotfix","color":"b60205"},{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/labels/review","name":"review","color":"ededed"}],"state":"closed","locked":false,"assignee":{"login":"snej","id":43241,"avatar_url":"https://avatars.githubusercontent.com/u/43241?v=3","gravatar_id":"","url":"https://api.github.com/users/snej","html_url":"https://github.com/snej","followers_url":"https://api.github.com/users/snej/followers","following_url":"https://api.github.com/users/snej/following{/other_user}","gists_url":"https://api.github.com/users/snej/gists{/gist_id}","starred_url":"https://api.github.com/users/snej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snej/subscriptions","organizations_url":"https://api.github.com/users/snej/orgs","repos_url":"https://api.github.com/users/snej/repos","events_url":"https://api.github.com/users/snej/events{/privacy}","received_events_url":"https://api.github.com/users/snej/received_events","type":"User","site_admin":false},"assignees":[{"login":"snej","id":43241,"avatar_url":"https://avatars.githubusercontent.com/u/43241?v=3","gravatar_id":"","url":"https://api.github.com/users/snej","html_url":"https://github.com/snej","followers_url":"https://api.github.com/users/snej/followers","following_url":"https://api.github.com/users/snej/following{/other_user}","gists_url":"https://api.github.com/users/snej/gists{/gist_id}","starred_url":"https://api.github.com/users/snej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snej/subscriptions","organizations_url":"https://api.github.com/users/snej/orgs","repos_url":"https://api.github.com/users/snej/repos","events_url":"https://api.github.com/users/snej/events{/privacy}","received_events_url":"https://api.github.com/users/snej/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/milestones/15","html_url":"https://github.com/couchbase/couchbase-lite-ios/milestones/1.3","labels_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/milestones/15/labels","id":1348000,"number":15,"title":"1.3","description":"This is a feature release, with a focus on performance. Noteworthy changes:\r\n\r\n* Support for [OpenID Connect](http://openid.net/connect/faq/) authentication, so you can log into Sync Gateway using a 3rd-party identity like a Google or Yahoo ID.\r\n* [Timed expiration of documents](https://github.com/couchbase/couchbase-lite-ios/wiki/Document-Expiration) can help keep your database from growing indefinitely.\r\n* Better performance with docs that have many revisions. Replication is faster, and older revisions are now automatically cleaned up in SQLite storage.\r\n* Optimized redisplay of UITableViews when using CBLUITableController.\r\n* Clearer error messages and better logging.\r\n* And of course many smaller optimizations, and lots of bug fixes.","creator":{"login":"zgramana","id":759830,"avatar_url":"https://avatars.githubusercontent.com/u/759830?v=3","gravatar_id":"","url":"https://api.github.com/users/zgramana","html_url":"https://github.com/zgramana","followers_url":"https://api.github.com/users/zgramana/followers","following_url":"https://api.github.com/users/zgramana/following{/other_user}","gists_url":"https://api.github.com/users/zgramana/gists{/gist_id}","starred_url":"https://api.github.com/users/zgramana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zgramana/subscriptions","organizations_url":"https://api.github.com/users/zgramana/orgs","repos_url":"https://api.github.com/users/zgramana/repos","events_url":"https://api.github.com/users/zgramana/events{/privacy}","received_events_url":"https://api.github.com/users/zgramana/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":133,"state":"closed","created_at":"2015-10-09T22:24:58Z","updated_at":"2016-08-09T21:44:49Z","due_on":"2016-06-30T00:00:00Z","closed_at":"2016-08-09T21:44:49Z"},"comments":25,"created_at":"2016-02-24T09:00:19Z","updated_at":"2016-10-06T04:43:20Z","closed_at":"2016-04-01T21:20:57Z","body":"* Version:   1.2 Release Branch\r\n* Client OS: iOS 9.2\r\n* Server:    CouchDB 1.6\r\n\r\nThe ChangeTracker contains a `_usePOST` ivar which by default is set to `YES`. When this is set to `YES` the changes URL is built as simply `_changes` and all of the request parameters are pushed into a JSON body for the post request.\r\n\r\nThis is however invalid as CouchDB still expects the majority of parameters to come through the URL query params not the post body.\r\n\r\nYou can reproduce this by targeting any CouchDB database and running:\r\n\r\n```\r\nPOST /_changes\r\nContent-Type: application/json\r\n\r\n{\"limit\": 5}\r\n```\r\n\r\nYou will notice this does not actually limit the result set at all. Where as if you run:\r\n\r\n```\r\nPOST /_changes?limit=5\r\n```\r\n\r\nIt will correctly capture the parameters. As far as I can tell the only valid parameter to have in the POST body is doc_ids and all others should remain in the query params of the URL"},"comment":{"url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/comments/251865722","html_url":"https://github.com/couchbase/couchbase-lite-ios/issues/1139#issuecomment-251865722","issue_url":"https://api.github.com/repos/couchbase/couchbase-lite-ios/issues/1139","id":251865722,"user":{"login":"snej","id":43241,"avatar_url":"https://avatars.githubusercontent.com/u/43241?v=3","gravatar_id":"","url":"https://api.github.com/users/snej","html_url":"https://github.com/snej","followers_url":"https://api.github.com/users/snej/followers","following_url":"https://api.github.com/users/snej/following{/other_user}","gists_url":"https://api.github.com/users/snej/gists{/gist_id}","starred_url":"https://api.github.com/users/snej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snej/subscriptions","organizations_url":"https://api.github.com/users/snej/orgs","repos_url":"https://api.github.com/users/snej/repos","events_url":"https://api.github.com/users/snej/events{/privacy}","received_events_url":"https://api.github.com/users/snej/received_events","type":"User","site_admin":false},"created_at":"2016-10-06T04:43:20Z","updated_at":"2016-10-06T04:43:20Z","body":"The problem now isn't that CouchDB isn't budging, it's that they haven't documented how it behaves. If someone who knows Erlang wants to dive into the source code and reverse-engineer their exact behavior, I'll implement our client code compatibly. But I don't want to just blindly guess again."}}
{"actor":{"display_login":"snej"}}