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

Improvements to Realtime Collaboration (Patching) #331

Merged
merged 5 commits into from
Dec 10, 2023

Conversation

loreanvictor
Copy link
Contributor

@loreanvictor loreanvictor commented Dec 4, 2023

Checklist

  • I documented the TypeScript code using JSDoc style (NA)
  • I added multiple screenshots/screencasts of my UI changes
  • I translated all the newly inserted strings into German and English (NA)

Motivation and Context

Realtime collaboration made with Apollon APIs is jumpy and sometimes results in inconsistent states.

Description

This change will provide following improvements to Apollon patching mechanism:

  • It will emit patches for element resizing
  • It will emit whole-sale patches for relationship paths to avoid inconsistent reconciliation.
  • Emitted patches are calculated without centering the diagram
  • Importing patches will not center the diagram

Steps for Testing

Test Coverage

File Branch Line
components/store/model-state.ts 97.22% 91.03%
components/store/model-store.tsx 100% 100%
components/uml-element/resizable/resizable.tsx 100% 65.38%
services/patcher/compare.ts 100% 100%
services/uml-element/remote-selectable/remote-selection-reducer.ts 100% 100%

Screenshots

ezgif com-video-to-gif-5

@loreanvictor loreanvictor changed the title initial commit Improvements to Realtime Collaboration (Patching) Dec 4, 2023
@matthiaslehnertum
Copy link
Collaborator

Looks good so far! If you could tackle the invalid non-null assertions as remarked by GitHub I feel like this one would be good to go! :)

@loreanvictor loreanvictor marked this pull request as ready for review December 10, 2023 16:48
@matthiaslehnertum matthiaslehnertum merged commit 9abbc29 into develop Dec 10, 2023
5 checks passed
@matthiaslehnertum matthiaslehnertum deleted the feature/smoother-collab-layouting branch December 10, 2023 18:05
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.

3 participants