Skip to content

Conversation

@juliusknorr
Copy link
Member

@juliusknorr juliusknorr commented Jun 19, 2023

  • chore: Add helpful comments and code bits for y.js debugging
  • chore: Basic backend y.js message decoder

📝 Summary

While looking into #4309 I thought it might be nicer to actually decode parts of the y.js message to perform relevant checks on it. This is now done in the YjsMessage class where so far only the relevant bits for extracting the message type is implemented. Upstream references are left in the code.

In addition I added a few logging parts in comments that might be useful in future debugging/development.

🏁 Checklist

  • Code is properly formatted (npm run lint / npm run stylelint / composer run cs:check)
  • Sign-off message is added to all commits
  • Tests (unit, integration and/or end-to-end) passing and the changes are covered with tests
  • Documentation (README or documentation) has been updated or is not required

@cypress
Copy link

cypress bot commented Jun 19, 2023

3 failed and 4 flaky tests on run #12081 ↗︎

3 137 18 0 Flakiness 4
⚠️ You've recorded test results over your free plan limit.
Upgrade your plan to view test results.

Details:

Y.js backend enhancements and debug helpers
Project: Text Commit: d7d78107e4
Status: Failed Duration: 29:01 💡
Started: Sep 11, 2023 3:30 PM Ended: Sep 11, 2023 3:59 PM

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

@juliusknorr

This comment was marked as outdated.

Copy link
Member

@mejo- mejo- left a comment

Choose a reason for hiding this comment

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

Nice! The code looks good to me, but I'd prefer if we could get a second review - especially of readVarUint() in lib/YjsMessage.php 🤓

@juliusknorr
Copy link
Member Author

Conflicts resolved, @max-nextcloud any chance you find some time? Not urgent but trying to get my open pr count down a bit 🙈

Copy link
Collaborator

@max-nextcloud max-nextcloud left a comment

Choose a reason for hiding this comment

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

The parsing of the base64 encoded messages and extraction of the first bits to get the types is nicely covered with tests. So I'm confident it's good as it is.

@max-nextcloud max-nextcloud merged commit 439e7e5 into main Sep 13, 2023
@max-nextcloud max-nextcloud deleted the chore/yjs branch September 13, 2023 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants