-
Notifications
You must be signed in to change notification settings - Fork 406
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Detect Conflict At Sync" doesn't work (still) #4585
Comments
@AnanyaJha do make sure the engineering folks watch this video to fully understand how this issue is occuring and how to properly test a fix. I'm happy to test beta versions of fixes, this has a huge impact on our teams due to the ease of overwriting someone elses work. Something that has been ingrained with all prior IDEs (mavens mate, force.com ide) to work and now doesn't. I've advised folks to turn it off and to always refresh before making changes because the conflict detection is not correct |
@AnanyaJha and please can we not close this until it's been verified by someone outside the engineering team to have been fixed? |
I can do a beta test too if needed. I am getting the same issue over and over. Finally turned off conflict detection as it is useless in its current shape. |
Hi @jefersonchaves thanks so much for opening up a new issue with more details. I'll flag this for our team to review and will definitely reach out for help with Beta testing @PawelWozniak - thank you! |
allow local changes through. Fixes #4585
This issue has been linked to a new work item: W-12302680 |
Hi @ralphcallaway and @PawelWozniak, You can build the extensions using these instructions, and provide any feedback you find. Thank you so much and let me know if you have any questions as you build/test. |
@klewis-sfdc Is there any possibility to precompile it and release as alpha/beta? |
Hi @PawelWozniak, You could download the compiled/built .vsix files from the bottom of the page here and then install them directly in VS Code using "Install from VSIX". I made a quick video to show how I was able to do it. Let me know if this process works for you. And thanks for helping us test this fix. |
I tried this build and it has solved the issue for me. Much appreciated @klewis-sfdc, hope you can get this live soon! |
That's great. Thank you very much @RanGroen for testing the build. We'll get this fix into a release soon. |
Summary
Conflict detection is firing on every save. I've made a video showing an example of the issue. https://www.youtube.com/watch?v=NMbWeDj2BLQ
Let me know if I can help at all in documenting test steps.
Steps To Reproduce:
Expected result
Both saves should go through since the version of the class prior to the change is up to date.
Actual result
The first change after doing a retrieve goes through without throwing a conflict error. The second change throws a conflict error.
Additional information
VS Code Version: 1.74.0
Salesforce Extension Version in VS Code: Salesforce Extension Pack v56.5.1
SFDX CLI Version: sfdx-cli/7.178.0 darwin-x64 node-v18.12.0
OS and version: OS X 12.6.1
Problem Outline
The cache is storing the last modified date for a component at the start of the save instead of using the final remote last modified date of the component from the server. This leads to the local timestamp to always be earlier than the remote and subsequent saves always appear to have a conflict.
For example, imagine the following sequence of events
Because their are two timestamps stored marked at different points in the transaction they are almost always slightly out of sync preventing conflict detection from working effectively.
Solution
After any push/deploy operation assuming either no conflict detection or user chose to proceed after conflict, update the cache of the remote last modified date upon completion of the transaction after the sfdx call has completed. This should happen regardless of whether the operation succeeded.
After any successful retrieve/pull operation, update the cache/store of the remote last modified date of the component after the sfdx call has completed.
History
This bug has been logged and closed repeatedly, let's get it fixed this time
Other Related Stuff
The text was updated successfully, but these errors were encountered: