ls1intum / Apollon

UML Modeling Editor written in React
https://apollon-library.readthedocs.io
MIT License
66 stars 22 forks source link

Improvements to Realtime Collaboration (Patching) #331

Closed loreanvictor closed 10 months ago

loreanvictor commented 10 months ago

Checklist

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:

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

matthiaslehnertum commented 10 months ago

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! :)