View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0030566||2.x IDE Bugs||Saving||Public||2019-02-26 09:35||2019-04-09 11:35|
|Reporter||Stewart Bishop||Assigned To||Alexander Borup|
|Priority||Medium||Severity||C - General||Reproducibility||100%|
|Target Version||Fixed in Version|
|Summary||0030566: Saving: File watcher triggers a modified externally warning if you have unsaved empty room creation code|
|Description||If you have an unsaved room with blank room creation code, when you close the room you will incorrectly (as far as the user is concerned) get a dialogue that your project has been modified externally and if you click "reload", you will lose your work.|
Similarly, removing all the room creation code for a room and then immediately closing the room can also cause the same dialog.
|Steps To Reproduce||1) Create a project|
2) Create a second room
3) Open the creation code for the second room, but don't type anything in
4) Close the room via its workspace tab
5) Wait a few seconds (whilst now back on Workspace 1)
6) See that this triggers a project modified (reload/save?) dialogue
Repro: 75% - seems to be a bit of a timings thing going on, might need to complete the steps quite quickly?
1) Open your second room again
2) Open the creation code for the second room and this time type anything in
3) Close the room via its workspace tab
4) Open your second room again
5) Open the creation code for the second room and remove everything you added
6) Quickly close the room via its workspace tab (while the syntax error is still showing in the gutter)
7) Wait a few seconds (whilst now back on Workspace 1)
8) See that this triggers a project modified (reload/save?) dialogue
Repro: 100% (although it sometimes seems to require/speed it up if I click my mouse?)
|2.x IDE Found In||220.127.116.113|
|2.x Runtime Found In||18.104.22.1688|
|2.x IDE Verified In|
|2.x Runtime Verified In|
||Doesn't reproduce for me|
Not sure it's really a Room Editor issue, more a saving flow issue. Regardless, have updated all the info above to be more accurate.
Have also removed the 2.2.2 requirement, as now we know what the issue really is it's panic over.
||The overarching issue here is that the file watcher takes the time that it notices a file being delete as the 'time of deletion' of that file... which may be anywhere within a (by default - users can change it) 2 second window. The file system tells the file watcher to ignore changes while it's making them (begin/end guards), but the file watcher ticks (by default) once every 2 seconds, coming back to that window. Because file deletion has no time stamp associated with it, it's the best it can do without communicating with the OS. So it should probably be communicating with the OS to fix this.|