DigitalCommons / land-explorer-front-end

React app for the Land Explorer front end
http://landexplorer.cc
GNU Affero General Public License v3.0
1 stars 0 forks source link

LX-306 Collaborative mapping, with edits locked to one user #310

Closed rogup closed 3 months ago

rogup commented 3 months ago

What? Why?

Closes #306, #307 and #308

This PR adds the following functionality:

In order to achieve the two-way messaging required for map locking, we have created a WebSocket architecture. This diagram shows the different WS messaging flows that have been implemented.

What should we test?

Test the behaviour described above. e.g.

Release notes

Deployment notes

When deploying on prod:

Documentation updates

There is a Wiki here which outlines our strategic direction for simultaneous map edits (with locking) https://github.com/DigitalCommons/land-explorer-front-end/wiki/Strategic-Direction#simultaneous-map-editing

Not that we also didn't include unit tests as part of this work due to budget constraints. We need proper unit testing for any future work in this area, since it's complex and there is a high risk of bugs.

lin-d-hop commented 3 months ago

This is looking really great team! I think there are a few little bits that might be a bit confusing for people, but overall the behaviour looks correct to me and I think this is ready to go out into the wild!! I've spent quite a bit of time today testing and summarised the testing notes here.

I'll do a little more testing mocking a flakey connection and then I think we are good to go.

lin-d-hop commented 3 months ago

Spent a chunk of time this morn testing a browser going online and offline while editing. Everything worked exactly as expected. II played with three different sessions interacting with the same map. I'm happy to move this one into release mode :)