developmentseed / developmentseed/observe

Expire tile when user discards a conflicting edit

Open
#19 1 comment 0 reactions 1 assignee Claimed by @batpad View on GitHub
Dominant language
JavaScript
Stars
66
Forks
4
PR merge metrics
No merged PRs in 30d

Description

This is the scenario where the current behaviour (of not expiring the tile) is a problem:

- I make an edit to a feature - say change a `building=yes` to `building=commercial`
- The edit has conflicts and I go to the Conflict Resolution screen
- I see another user has made edits, for eg. added some tags like `levels` and address fields.
- I don't want to over-ride the other user's edits, so I choose to discard my change.
- But I still want to changing building=yes to building=commercial, so now I go back to edit the feature to make my change.

What I expect:

- The feature that I'm now editing is the latest version of the feature and my edit will no longer cause a `VersionConflict`

What happens:

- Since we have not expired the tile and fetched the latest version of the feature, the user is still editing the older version of the feature, and the new edit also gets a `VersionConflict` error.

Right now, the only work-around seems to be to edit a different feature on the same tile to cause the tile to refresh (or clear all tile data in Settings).

Ideally, I think we'd do two things:

a> Have a way on the `Explore` screen for a user to manually expire + refresh all tiles in the viewport - @mojodna I remember you mentioning that this might be a good idea? Do we have a separate ticket for this?

b> Either refetch just the conflicting feature after a user discards a conflicting change OR expire the tile(s) that the conflicting feature belongs to.

Not sure of the urgency of this change - can discuss / scope out a bit how much work this seems to be and if it seems like it might cause any other complications.

cc @geohacker

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.