Skip to content

Conversation

@wrenj
Copy link
Collaborator

@wrenj wrenj commented Jan 16, 2026

…enamed to sync

Description

Clarify client->server data broadcast goes only to the server that created the surface

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request clarifies the behavior of client-to-server data synchronization by renaming broadcastDataModel to syncDataModel and updating the documentation to specify that data is sent only to the server that created the surface. The changes are applied consistently across the protocol documentation and relevant JSON schemas. My review includes a couple of minor suggestions to improve documentation formatting and maintain consistency in the JSON files.

wrenj and others added 2 commits January 16, 2026 07:19
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
- `catalogId` (string, required): A string that uniquely identifies the catalog (components and functions) used for this surface. It is recommended to prefix this with an internet domain that you own, to avoid conflicts (e.g., `https://mycompany.com/1.0/somecatalog`).
- `theme` (object, optional): A JSON object containing theme parameters (e.g., `primaryColor`) defined in the catalog's theme schema.
- `broadcastDataModel` (boolean, optional): If true, the client will append the full data model of this surface to the metadata of every A2A message (like 'action') sent to the server. Defaults to false.
- `syncDataModel` (boolean, optional): If true, the client will append the full data model of this surface to the metadata of every A2A message sent to the server that created the surface. This ensures the surface owner receives the full current state of the UI alongside the user's action or query. Defaults to false.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sync implies two-way exchange to make the server and client identical. This is a broadcast because it's only one-way.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was afraid broadcast implies 1:n, when it just goes back to the server who created the surface

what about attachDataModel?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's fair. attachDataModel works. What about sendDataModel?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

went with attachDataModelToRequests, this should be quite accurate, I was afraid send implied separate message, please review, thanks

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think attachDataModel worked better, attachDataModelToRequests feels a little long (and a little redundant).

Sorry, I'll stop bikeshedding now.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

```

### Client to Server Updates (Broadcasting)
### Client to Server Updates (State Synchronization)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It isn't synchronizing, so maybe just remove the parenthetical?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@wrenj wrenj merged commit 10038b5 into main Jan 16, 2026
6 checks passed
@wrenj wrenj deleted the syncc branch January 16, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants