🧪 killBottleneck is in public beta — cloud and self-host.🧪 killBottleneck is in beta.Beta on GitHub →
Skip to content

Collaboration and conflicts

A shared map can be open in several places at once — and sooner or later two people edit the same one. killBottleneck holds one rule for that moment: nothing is ever silently overwritten. Every save carries the version of the map it started from; if the map on the server has moved on in the meantime, the server rejects the save and leaves the decision to you.

The gentle banner: "Someone else has changed this map"

In the background, the app occasionally asks the server whether the map has changed — it asks only for the time of the last change, downloading and overwriting nothing. When it spots a foreign change, a gentle banner appears above the map — "Someone else has changed this map in the meantime." — with a Load current version button. Nothing reloads by itself; your drafted work stays yours until you decide.

The banner only notifies — it reloads nothing and leaves your drafted work alone.

An honest footnote: the check runs about once a minute and only while the map window is visible — so the banner may not appear immediately. Nothing rests on it, though: even if it never showed, the server stops any silent overwrite at save time.

Status changes merge silently

One kind of foreign change deserves no conflict: a status flip on goals. Typically an automation finishes and marks a goal done — the map moves "under your hands" in exactly the scenario automations exist for. When the foreign change is only a status shift (no rename, no move, no added or deleted node), the app quietly adopts it and reports "An automation completed a goal in the meantime — the map is up to date." If you flipped the same goal yourself in the meantime, your choice wins. Anything other than a status is a real collision and belongs in front of a human — in the dialog below.

The conflict dialog: three options

When incompatible edits meet, the "This map was changed in the meantime" dialog opens. Nothing is discarded without your say:

  • Download backup (JSON) — your drafted version is saved to a file. It decides nothing; it is the safety net that lets you press either of the other two calmly.
  • Keep my changes — your version is saved. This knowingly overwrites the other person's edits — which is why the dialog says so plainly, no fine print.
  • Load current version — discards the edits drafted in this window and loads the map as it stands on the server.
The conflict dialog — nothing is discarded or overwritten without your choice.

The conflict does not have to come from a colleague, by the way: having the same map open in two windows, or on your computer and your phone at once, is enough. The remedy is the same.

Next

fair-code — self-hosting and internal use are free, reselling as a hosted service is not.