On Thursday, January 8, 2015 4:39:49 PM UTC-3, Dominique Legault wrote: > > There is also a warning about your user document that the changes feed is > having a difficulty getting that document because : "Invalid doc ID" , how > are you creating your user ? >
curl -X PUT http://localhost:4985/vdb/_user/fede --data \ '{"name": "fede", "email":"[email protected]", "channels":["*"], "role":"user", "password": "********"}' > > On Thu, Jan 8, 2015 at 11:34 AM, Dominique <[email protected] > <javascript:>> wrote: > >> what's your sync function look like, are sure that the user fede is >> subscribed to the channel the document is in ? >> >> I also notice that you have since=1 on your changes feed for the user, >> that will exclude the first change. >> >> On Thu, Jan 8, 2015 at 10:58 AM, Federico Hernandez <[email protected] >> <javascript:>> wrote: >> >>> On Wednesday, January 7, 2015 3:36:05 PM UTC-3, Dominique Legault wrote: >>>> >>>> Federico, in the changes REST API there is a since parameter to get >>>> changes from a specific update sequence. when you get the db from the sync >>>> gateway it returns the current update_seq document like so : >>>> http -auth username:password https://myurl.com:4984/testdb/ >>>> { >>>> "committed_update_seq": 3745, >>>> "compact_running": false, >>>> "db_name": "testdb", >>>> "disk_format_version": 0, >>>> "instance_start_time": 1420650337223095, >>>> "purge_seq": 0, >>>> "update_seq": 3745 >>>> } >>>> >>>> then pass the update_seq number to the changes API as the since >>>> parameter and you will only get new changes. >>>> >>>> I have made significant changes to the example phonegap app if your >>>> looking for another example of how things are done you can check out my >>>> app: >>>> >>>> https://github.com/deefactorial/openmoney-mobile/ >>>> >>>> you can download the app from the google play store by joining my >>>> google group. >>>> https://groups.google.com/forum/#!forum/openmoney-development >>>> >>>> >>> Thanks for the example Dominique. >>> >>> I've implemented the sync process based on your example. However, I >>> still have some issues. I created two document and a user. The app sent the >>> changes to the sync manager and then to the couchbase server. Now, I >>> removed the app, installed it again and stopped the sync gateway. The app >>> started up and I could see in the logs the changes coming from the >>> couchbase server to the sync gateway, but the problem came up in this step. >>> If I try to see the changes through the admin interface (SG) I can see them >>> well. However, if I try to get them from the mobile app, I only get one of >>> them, the one related to the user document. >>> >>> Here I copy the logs from SG: >>> >>> [I think the following is from the sync between couchbase and sync >>> gateway] >>> >>> 15:11:28.786582 HTTP: #012: GET >>> /adb/_changes?feed=longpoll&heartbeat=1000&style=all_docs&since=0&limit=100&include_docs=true >>> >>> (ADMIN) >>> 2015/01/08 15:11:29 go-couchbase: call to ViewCustom("sync_gateway", >>> "channels") in >>> github.com/couchbaselabs/sync_gateway/base.couchbaseBucket.ViewCustom >>> took 243.772833ms >>> 15:11:29.030749 changes_view: Query took 243.893437ms to return 2 rows, >>> options = db.Body{"limit":100, "stale":false, "startkey":[]interface >>> {}{"*", 0x1}, "endkey":[]interface {}{"*", 0x4}} >>> 15:11:29.035647 WARNING: Changes feed: error getting doc "_user/fede": >>> 400 Invalid doc ID -- db.(*Database).addDocToChangeEntry() at changes.go:57 >>> 15:11:29.035713 HTTP+: #012: --> 200 OK (0.0 ms) >>> >>> [The following shows the changes retrieved through the admin interface] >>> >>> 15:44:22.054865 HTTP: #038: GET >>> /vdb/_changes?feed=longpoll&heartbeat=1000&style=all_docs&since=0&limit=100&include_docs=true >>> >>> (ADMIN) >>> 15:44:22.138401 WARNING: Changes feed: error getting doc "_user/fede": >>> 400 Invalid doc ID -- db.(*Database).addDocToChangeEntry() at changes.go:57 >>> 15:44:22.138459 HTTP+: #038: --> 200 OK (0.0 ms) >>> >>> { >>> results: [ >>> { >>> seq: 2, >>> id: "B14D6B41-DB44-404E-A355-43DDB252A81E", >>> doc: { >>> _id: "B14D6B41-DB44-404E-A355-43DDB252A81E", >>> _rev: "1-0c0ff608417c7a4748215a822b61d2ae", >>> active: true, >>> createdAt: "2015-01-08T15:19:24.629Z", >>> id: "record-158", >>> modifiedAt: "2015-01-08T15:19:24.629Z", >>> name: "Thu Jan 08 2015 12:19:20", >>> type: "event" >>> }, >>> changes: [ >>> { >>> rev: "1-0c0ff608417c7a4748215a822b61d2ae" >>> } >>> ] >>> }, >>> { >>> seq: 3, >>> id: "C4315EBA-1C17-4136-AECE-0D1AF33C10BE", >>> doc: { >>> _id: "C4315EBA-1C17-4136-AECE-0D1AF33C10BE", >>> _rev: "1-f2fc940cb0aab6289228e1ef9884ab3f", >>> active: true, >>> createdAt: "2015-01-08T15:19:42.406Z", >>> id: "record-161", >>> modifiedAt: "2015-01-08T15:19:42.406Z", >>> name: "Thu Jan 08 2015 12:19:40", >>> type: "event" >>> }, >>> changes: [ >>> { >>> rev: "1-f2fc940cb0aab6289228e1ef9884ab3f" >>> } >>> ] >>> }, >>> { >>> seq: 4, >>> id: "_user/fede", >>> changes: [ >>> { >>> rev: "" >>> } >>> ] >>> } >>> ], >>> last_seq: "4" >>> } >>> >>> [The following shows the changes retrieved from the my app] >>> >>> 15:18:52.892483 HTTP: #020: GET >>> /adb/_changes?feed=longpoll&include_docs=true&conflicts=true&style=all_docs&since=1&limit=100 >>> 15:18:52.892575 HTTP: #020: --> 401 Login required (2.3 ms) >>> 15:18:53.495125 HTTP: #021: GET >>> /adb/_changes?feed=longpoll&include_docs=true&conflicts=true&style=all_docs&since=1&limit=100 >>> >>> (as fede) >>> 15:18:53.495422 WARNING: Changes feed: error getting doc "_user/fede": >>> 400 Invalid doc ID -- db.(*Database).addDocToChangeEntry() at changes.go:57 >>> 15:18:53.495822 HTTP+: #021: --> 200 OK (0.0 ms) >>> >>> {"results":[{"seq":4,"id":"_user/fede","changes":[]}],"last_seq":"4"} >>> >>> >>> As you can see, the changes attribute is an empty array here. Could you >>> tell me why is that and how could I get the same changes that I get through >>> the admin interface? >>> >>> Thanks in advance, >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Couchbase Mobile" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/mobile-couchbase/GGHPkISNrGw/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] <javascript:>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/mobile-couchbase/bc4bf46f-bd2f-47fe-950d-f0dc570bde79%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/mobile-couchbase/bc4bf46f-bd2f-47fe-950d-f0dc570bde79%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/7c7a30cc-f6e3-4fdd-a8c3-800057a3a6ef%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
