Closed tapple closed 1 month ago
Not a bug. a discord user told me there's a setting for this in the plugin, and, indeed, changing the setting Confirmation Behavior
to Always
makes it behave as expected above
I never even noticed that settings button. I don't think it's mentioned in the docs at https://rojo.space/
We don't document the Roblox Studio plugin or CLI very well at all right now, apologies. Going to close this issue and open some in rojo.space's repository.
Outside of the above comment, I do want to clarify: we don't actually do conflict detection. What you're seeing is our patch visualizer, which is providing a visual for a patch that's incoming from Rojo's server. The reason you're seeing a diff with scripts is due to Boatbomber's lovely work on that front, but it's a special-cased visualization rather than something we actually use.
The way we detect differences is that we generate a new patch whenever a watched file or folder (on the file system) is modified. If the patch isn't empty, it's sent to the Roblox Studio plugin which then applies it. We compute a visualization of the patch and optionally prompt the user, but that's a separate process to the core loop of Rojo.
Do let me know if you have further questions on this. I'm also in the Discord if you want to ask me there for a quicker response.
I don't understand rojo conflicts:
Expected behavior: Rojo warns me about a conflict, and asks me to confirm Actual behavior: Rojo silently overwrites the script I'm using Rojo 7.4.1
I've seen a conflict warning when another team member edits a script (it's a team create place), and I saw a lot of fake conflicts when I updated from rojo 7.2 to 7.3, but, I don't understand why the above doesn't give me a conflict. It feels like a rojo bug
I don't know how it detects conflicts. there's no "last modified" attribute for instances that I see. Maybe it only goes off some team-create-specific api to get the last team member name I'm kinda surprised rojo doesn't add a comment to the top or bottom of the file like
that would only work for scripts I guess. I suppose it could add an attribute for all instances I guess conflict detection is best effort, and not guaranteed. Improving it probably requires the same studio enhancements that 2-way sync would require
I'm concerned that rojo is going to cause quiet data loss someday, the way I'm using it: