Skip to content

Commit

Permalink
fix: trust shouldn't trigger UI SettingsChangedEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
ShawkyZ committed Jan 27, 2025
1 parent 7deaabc commit c5e0765
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void AddFolderToTrusted(string absoluteFolderPath)
var trustedFolders = this.serviceProvider.Options.TrustedFolders;
trustedFolders.Add(absoluteFolderPath);
this.serviceProvider.Options.TrustedFolders = trustedFolders;
this.serviceProvider.SnykOptionsManager.Save(this.serviceProvider.Options);
this.serviceProvider.SnykOptionsManager.Save(this.serviceProvider.Options, false);
}
catch (Exception e)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public interface ISnykOptionsManager
void LoadSettingsFromFile();
void SaveSettingsToFile();
ISnykOptions Load();
void Save(IPersistableOptions options);
void Save(IPersistableOptions options, bool triggerSettingsChangedEvent = true);

/// <summary>
/// Get CLI additional options string.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public ISnykOptions Load()
};
}

public void Save(IPersistableOptions options)
public void Save(IPersistableOptions options, bool triggerSettingsChangedEvent = true)
{
snykSettings.DeviceId = options.DeviceId;
snykSettings.TrustedFolders = options.TrustedFolders;
Expand Down Expand Up @@ -100,7 +100,8 @@ public void Save(IPersistableOptions options)
snykSettings.OssEnabled = options.OssEnabled;

this.SaveSettingsToFile();
serviceProvider.Options.InvokeSettingsChangedEvent();
if(triggerSettingsChangedEvent)
serviceProvider.Options.InvokeSettingsChangedEvent();
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,28 +28,14 @@ public SnykSolutionOptionsUserControl(ISnykServiceProvider serviceProvider)

private void AdditionalOptionsTextBox_TextChanged(object sender, EventArgs e)
{
if (this.serviceProvider.SolutionService.IsSolutionOpen())
{
AdditionalOptions = this.additionalOptionsTextBox.Text;
}
AdditionalOptions = this.additionalOptionsTextBox.Text;
}

private void SnykProjectOptionsUserControl_Load(object sender, EventArgs eventArgs) => ThreadHelper.JoinableTaskFactory.RunAsync(async () =>
{
this.OnVisibleChanged(eventArgs);

bool isProjectOpened = this.serviceProvider.SolutionService.IsSolutionOpen();

this.additionalOptionsTextBox.Enabled = isProjectOpened;

if (!isProjectOpened)
{
return;
}

try
{
string additionalOptions = await this.serviceProvider.SnykOptionsManager.GetAdditionalOptionsAsync();
var additionalOptions = await this.serviceProvider.SnykOptionsManager.GetAdditionalOptionsAsync();

if (!string.IsNullOrEmpty(additionalOptions))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,14 @@ private void DetermineInitScreen()
return;
}

if (options.ApiToken.IsValid())
var isFolderTrusted = ThreadHelper.JoinableTaskFactory.Run(async () =>
{
var solutionFolderPath = await this.serviceProvider.SolutionService.GetSolutionFolderAsync();
var isFolderTrusted = this.serviceProvider.WorkspaceTrustService.IsFolderTrusted(solutionFolderPath);
return isFolderTrusted;
});

if (options.ApiToken.IsValid() && isFolderTrusted)
{
this.context.TransitionTo(RunScanState.Instance);
return;
Expand Down

0 comments on commit c5e0765

Please sign in to comment.