Question about Merges and Version control

Hey - quick technical question.

Are merges and version control completed partly client side - or is it done entirely on the server?

Thanks!

Whenever you select a conflict, it writes a change to the ‘merge’ branch (the temporary one created) which fires off an API call /write to the editor (you can use this arbitrarily to make any change to your app JSON).

When you commit/confirm the merge, that temporary branch becomes the branch you were moving into. This is done via an API call to an editor endpoint (finalize_merge).

Thanks @georgecollier - I was hoping for a response from you haha.

So is there scope for errors to crop up (client side) from that process. E.g. my browser crashes, the function doesn’t run correctly etc. ?

Anecdotally, I’ve seen errors generated in merging from larger apps (that i wouldn’t think would happen if it’s purely server side)

I believe the actual act of finalising the merge is entirely server side (it, I speculate, copies the merge branch into the branch you’re merging into).

However, errors might occur if the /write calls which determine conflicts fail (as the checkbox might update, but not the app version). I’m speculating though so take with a grain of salt

Hey Djack,

From what I’ve seen, the actual merge confirmation happens server-side, so the heavy lifting isn’t on your browser. That said, issues can pop up earlier in the process (like when the conflict check boxes are written via /write). If your browser crashes at that stage, it might cause mismatches especially on bigger apps.

So:

Final merge = server side

Conflict resolution steps = partly client side, can glitch if interrupted

Hope that clears it up

Thanks both @georgecollier @hanskiprop15 - late response from me here

The response from Bubble Support was more or less in line with what you’ve described (most actions happen server side)

1 Like

Perfect, thanks for updating! That matches my experience as well. Curious did they give any extra tips?

This topic was automatically closed after 70 days. New replies are no longer allowed.