That's correct. Classes need to be annotated with @Portable to send objects across the wire (the only alternative is to configure these classes in ErraiApp.properties using this property: errai.marshalling.serializableTypes=...).
However, in case of the kitchensink quickstart, I see the @Portable annotation on the Member class in both the standard and cordova kitchensink:
Which version of the kitchensink quikstart did you use?
Yeah, it did seem odd that @Portable is missing in the version I'm running and that the code actually works. Also, ErraiApp.properties has no reference to Member.
I'm following the documentation here where the version is 2.2.1.Final:
How is this possible?
I just build a demo app using 2.2.1.Final of the kitchensink archetype and the Member class was annoated with @Portable. Removing @Portable causes a runtime error "no marshalling definition available for type:foo.bar.client.shared.Member" which is as expected.
I assume that your build is not clean and you still have the marshaller generated from an earlier build. After doing a mvn clean gwt:run you should be seeing the same problem without @Portable.
You are right. I noticed a comment at the top of my copy of Member: "Generated Jun 22, 2013 10:40:31 PM by Hibernate Tools 3.4.0.CR1". I must have somehow triggered a regen of the class while prototyping.
Appreciate your assistance!