Proto commits in tdryer/hangups

These 74 commits are when the Protocol Buffers files have changed:

Commit:072fdee
Author:Tom Dryer
Committer:Tom Dryer

Fix proto issues with status/mood messages See #328, #360, #387, #528.

The documentation is generated from this commit.

Commit:bd13305
Author:Tom Dryer

Add missing fields to ForceHistory proto Fixes #518.

Commit:168c6a8
Author:Tom Dryer
Committer:Tom Dryer

Rename StatusMessageSpec

Commit:d12e013
Author:Tom Dryer

Add status message protocol messages

Commit:2c15aad
Author:Tom Dryer
Committer:Tom Dryer

Fix issues with presence protocol messages This fixes SetPresenceRequest and PresenceNotification. See #328, #360

Commit:5782fd6
Author:Tom Dryer

Add proto file comments about read state See #354.

Commit:6ba86d3
Author:Tom Dryer

Use EmbedItem for Place fields

Commit:9e07dee
Author:Terence D. Honles
Committer:Tom Dryer

add the ability to send map locations

Commit:7bcfb65
Author:Tom Dryer

Add missing field to LastSeen message

Commit:a106713
Author:Tom Dryer

Improve pagination for loading conversations Fix error in the proto file which was hiding the timestamp necessary to paginate sync_recent_conversations requests correctly. Fixes #297.

Commit:9a27ecd
Author:Tom Dryer

Fix some minor style issues

Commit:94bdde7
Author:Morgan Jones
Committer:Tom Dryer

Receive all hangouts for users in over 100 of them The original hangups implementation left field 2 in `SyncRecentConversationsRequest` unset, which, by default, allows the user to request the n *most recent* hangouts. In hangups, n=100, which only syncs the most recent 100 hangouts. Add an optional field 2 in `SyncRecentConversationsRequest` called `last_event_timestamp`, which represents the earliest timestamp at which we should start requesting conversations. Update `build_user_conversation_list`. As before, request the 100 most recent hangouts first, but start requesting conversations before the earliest received conversation on this page if there are still conversations to receive. Additionally, add a new constant, `hangups.conversation.CONVERSATIONS_PER_REQUEST`, controlling the maximum number of conversations to ask for in each request.

Commit:12f6eae
Author:Tom Dryer

Update proto to receive configuration bit changes

Commit:d639463
Author:Ollie Terrance

Support changing off-the-record status

Commit:7a67336
Author:Tom Dryer

Set known client_id in request header Sending a recognized client_id is important because it changes the behaviour of some APIs: * get_conversation will include group link sharing modification events. See #251. * sync_recent_conversations will include observed events. See #253.

Commit:5cecf50
Author:Tom Dryer

Add group link sharing modification event See #251.

Commit:6a9ae8d
Author:Tom Dryer

Add Client.set_group_link_sharing_enabled See #251.

Commit:0e957b8
Author:Tom Dryer

Add Client.get_group_conversation_url See #251.

Commit:033f0e8
Author:Tom Dryer

Add participant_id to RemoveUserRequest message This allows removing other participants from a conversation. Fixes #250.

Commit:46b985b
Author:Tom Dryer

Clean up getentitybyid changes

Commit:6d569a2
Author:Dan Lenski
Committer:Dan Lenski

figured out how to create/lookup a gaia ID for an arbitrary phone number (PARTICIPANT_TYPE_GOOGLE_VOICE), and added this to the lookup_entities.py example Based on @eionrobb's version of hangouts.proto which contains the extra field GetEntityByIdResult.entity_results. GetEntityByIdResult is extremely confusing, because it seems to return two partially-overlapping result sets: * the .entity field appears to only return PARTICIPANT_TYPE_GAIA entities, even if lookup is by phone number (e.g. if you lookup my phone number, it will return the gaia ID corresponding to my gmail address) * the .entity_results field will return PARTICIPANT_TYPE_GOOGLE_VOICE entities when lookup is by .phone, with create_offnetwork_gaia=True * both the .entity and .entity_results field will return blank entities if you lookup using a non-GMail address address, *even if* create_offnetwork_gaia=True https://bitbucket.org/EionRobb/purple-hangouts/commits/694bd41903dd93e67a3ee565b78a53696d723ccf#comment-3019616

Commit:31e4069
Author:Tom Dryer

Update docs relating to getentitybyid

Commit:23addd2
Author:Dan Lenski

enable phone field in EntityLookupSpec, and add examples/lookup_entities.py

Commit:4e8b187
Author:Tom Dryer

Add email field to EntityLookupSpec message

Commit:36710fe
Author:Tom Dryer

Add Client.get_suggested_entities

Commit:d09cdef
Author:Tom Dryer

Add last_seen to Presence protobuf Partially ported from purple-hangouts: https://bitbucket.org/EionRobb/purple-hangouts/commits/2298a18ec3c2ee7c66f71e1befef59dc088d2eb7#chg-hangouts.proto

Commit:7f9b92f
Author:Tom Dryer

Fix phone_number message in DeliveryMedium See #211.

Commit:b22a32e
Author:Tom Dryer
Committer:Tom Dryer

Add Client.send_offnetwork_invitation Fixes #195.

Commit:db1e5ba
Author:Tom Dryer

Add some protos related to invitations See #204.

Commit:9516178
Author:Tom Dryer

Add Client.send_offnetwork_invitation

Commit:5251f47
Author:Tom Dryer

Add missing ConfigurationBitType value Fixes #189.

Commit:18fd502
Author:Tom Dryer

Add image_user_id to Conversation.send_message Add image_user_id to Conversation.send_message to allow sending photos belonging to another user (eg. stickers).

Commit:08c6852
Author:Tom Dryer

Add EventAnnotation to proto file

Commit:cfc0db1
Author:Tom Dryer
Committer:Tom Dryer

Send messages with correct delivery medium Read the default delivery medium from conversations and use it when sending messages. This allows sending messages correctly to conversations using alternate delivery mediums, such as Google Voice. Fixes #53.

Commit:1b54e81
Author:Tom Dryer

Clean up some TODOs

Commit:4a08bc4
Author:Tom Dryer

Add support for bytes type in pblite

Commit:cd74e7d
Author:Tom Dryer

Add protobufs for map attachments

Commit:568f5cd
Author:Tom Dryer

Implement GetSuggestedEntities protobufs

Commit:0c293f6
Author:Tom Dryer

Add hash_modifier to Event proto

Commit:e2bde1e
Author:Tom Dryer

Add more delivery mediums and event types

Commit:d2f0a76
Author:Tom Dryer

Add some more GetSelfInfoResponse fields

Commit:80e01f3
Author:Tom Dryer

Clean up the proto documentation

Commit:fbb1650
Author:Tom Dryer

Make proto enum field names consistent

Commit:d6d174c
Author:Tom Dryer

Update GetSelfInfoResponse proto and others

Commit:8ca87e1
Author:Tom Dryer
Committer:Tom Dryer

Update Conversation and Event message protos

Commit:c0906c7
Author:Tom Dryer

Merge pull request #145 from j16sdiz/patch-2 Fills unknown fields from takeout

Commit:c780a00
Author:Daniel Cheng (鄭郁邦)

Fills unknown fields from takeout Google takeout can dump all hangouts in JSON format. Update the unknown fields from the dump.

Commit:187f667
Author:Tom Dryer

Update Entity message proto

Commit:7193c1f
Author:Tom Dryer

Remove unknowns from DeviceStatus message

Commit:8b90a45
Author:Tom Dryer

Rename some proto messages

Commit:3c82041
Author:Tom Dryer

Fix attachment parsing and update protos

Commit:e7e6faa
Author:Tom Dryer

Remove message name abbreviation from protobufs

Commit:780faf7
Author:Tom Dryer
Committer:Tom Dryer

Use 2-space indent for proto files

Commit:d39cfd0
Author:Tom Dryer

Add generated documentation for proto file

Commit:deeaff0
Author:Tom Dryer

Stub some missing proto enum values

Commit:04c8c79
Author:Tom Dryer

Update Event proto

Commit:cb1bf60
Author:Tom Dryer

Refactor pblite decoder and tests

Commit:d8deb14
Author:Tom Dryer

Add protobufs for createconversation

Commit:87bbe39
Author:Tom Dryer

Add protobufs for adduser

Commit:1fb0f31
Author:Tom Dryer

Add protobufs for deleteconversation

Commit:f0cf4a2
Author:Tom Dryer

Add protobufs for removeuser

Commit:aeca4e4
Author:Tom Dryer

Add protobufs for setconversationnotificationlevel

Commit:e2dc47e
Author:Tom Dryer

Add protobufs for syncrecentconversations

Commit:5b21871
Author:Tom Dryer

Add protobufs for searchentities

Commit:2c500ee
Author:Tom Dryer

Add protobufs for setpresence

Commit:5828987
Author:Tom Dryer

Make more client requests use protobufs

Commit:d05a547
Author:Tom Dryer

Fix membership and rename events

Commit:1e1bc8f
Author:Tom Dryer

Populate OTRModification message

Commit:fe62a9c
Author:Tom Dryer

Rename Client.setchatname to renameconversation

Commit:527dead
Author:Tom Dryer

Clean up some things

Commit:c807901
Author:Tom Dryer

Remove schemas and old pblite

Commit:ceea6ec
Author:Tom Dryer

continue moving stuff over to protobuf

Commit:2ea39f3
Author:Tom Dryer

switch to proto2

Commit:89be123
Author:Tom Dryer

proto3 WIP