Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Presence to Document #582

Merged
merged 7 commits into from
Jul 14, 2023
Merged

Move Presence to Document #582

merged 7 commits into from
Jul 14, 2023

Conversation

chacha912
Copy link
Contributor

What this PR does / why we need it:

Move Presence from Client to Document

UpdatePresence

The UpdatePresence API has been removed, and the document and presence changes are now sent through the PushPull API. As a result, the presence is no longer passed as part of the Client but instead included within the change. The changePack now includes the presence.

  • as-is
image
  • to-be
image

WatchDocument

In the WatchDocument API, the request and response only include the client ID without the presence.

wat

Which issue(s) this PR fixes:

Address #442

Special notes for your reviewer:

This PR is one of the separations from #542.

Does this PR introduce a user-facing change?:

- The UpdatePresence API has been removed.
- Presence changes are now sent through the PushPull API, so the Change includes presence information and the ChangePack includes the snapshotPresence.
- In the WatchDocument API's request and response, only the client ID is passed without the presence.

Additional documentation:


Checklist:

  • Added relevant tests or not required
  • Didn't break anything

@hackerwins hackerwins self-requested a review July 14, 2023 08:58
Copy link
Member

@hackerwins hackerwins left a comment

Choose a reason for hiding this comment

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

Thank you for your contribution. 🚀

@codecov
Copy link

codecov bot commented Jul 14, 2023

Codecov Report

Merging #582 (bccd61c) into main (2b15ac5) will decrease coverage by 0.33%.
The diff coverage is 29.32%.

@@            Coverage Diff             @@
##             main     #582      +/-   ##
==========================================
- Coverage   51.50%   51.17%   -0.33%     
==========================================
  Files          67       66       -1     
  Lines        6932     7006      +74     
==========================================
+ Hits         3570     3585      +15     
- Misses       2891     2947      +56     
- Partials      471      474       +3     
Impacted Files Coverage Δ
api/converter/from_bytes.go 53.17% <0.00%> (-2.73%) ⬇️
api/converter/to_bytes.go 64.07% <0.00%> (-8.23%) ⬇️
client/options.go 13.33% <0.00%> (-24.17%) ⬇️
pkg/document/change/change.go 0.00% <0.00%> (ø)
pkg/document/change/checkpoint.go 92.00% <ø> (ø)
pkg/document/change/context.go 0.00% <0.00%> (ø)
server/rpc/admin_server.go 53.97% <0.00%> (ø)
client/client.go 13.66% <5.45%> (-1.67%) ⬇️
pkg/document/internal_document.go 17.20% <14.28%> (-4.47%) ⬇️
server/backend/database/change_info.go 21.05% <20.00%> (-3.09%) ⬇️
... and 9 more

@hackerwins hackerwins merged commit 68ae040 into main Jul 14, 2023
@hackerwins hackerwins deleted the presence-batch-move-presence branch July 14, 2023 09:07
chacha912 added a commit that referenced this pull request Jul 18, 2023
To ensure atomic delivery of data for `Document` and `Presence` to users,
we are removing `Presence` from the `Client` and moving it to the
`Document`. In the future, we plan to further modify it by changing
`Document` to `Channel` or `Room` and rename `Root` as `Document`.

UpdatePresence

`UpdatePresence API` has been removed. Now, document and presence
changes are transmitted using the `PushPull API`. Consequently, the
presence is no longer transmitted as a component of the `Client`, but
rather included within the change. ChangePack now contains `presence`.

WatchDocument

In the `WatchDocument API`, both the request and response only include
the client ID, excluding the presence.

---------

Co-authored-by: Youngteac Hong <[email protected]>
@hackerwins hackerwins added the protocol changed 📝 Whether the protocol has changed label Jul 18, 2023
@chacha912 chacha912 mentioned this pull request Aug 18, 2023
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol changed 📝 Whether the protocol has changed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants