> On Jan 15, 2015, at 3:11 AM, Andrew Tokarev <[email protected]> wrote: > > I recently found out that custom doc_id is not validated on iOS/Android > (might be true for other platforms). > So it is possible to pass something like: "£%&-7", which causes exception on > SyncGateway (no crash).
That is a valid document ID. > ---- Sync gateway (1.0.0) confused with some doc ids: > ---- > 15:19:44.729250 CRUD+: Invoking sync on doc "£%&-7" rev > 2-d36047fd7682b8f3255a0652ba510790 > 15:19:44.729562 CRUD+: No old revision "£%&-7" / > "1-691feb51f7ea0da0c8e56132396a0451" > 15:19:44.729856 WARNING: Sync fn exception: 400 Illegal channel name > "person-£%&-7"; doc = map[_id:£%&-7 type:Person > _revisions:map[start:%!s(float64=2) ids:[d36047fd7682b8f3255a0652ba510790 > 691feb51f7ea0da0c8e56132396a0451]] _rev:2-d36047fd7682b8f3255a0652ba510790] > -- db.(*Database).getChannelsAndAccess() at crud.go:686 …but that same string is an illegal channel ID. Doc and channel IDs are not the same thing. It can be convenient to name a channel after a document, but if you do that you need to ensure [on the client] that the document is given an ID that's a valid channel ID. Or your sync function could escape characters in the doc ID to make it a valid channel ID. —Jens -- 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/F67EC8C0-76B9-4E62-B0EC-7C3BEDCA2687%40couchbase.com. For more options, visit https://groups.google.com/d/optout.
