mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-08-20 16:52:57 +00:00
Improve resource disposal in components to prevent memory leaks
This commit is contained in:
parent
8de5921217
commit
29694e7edb
@ -384,7 +384,17 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
|||||||
|
|
||||||
protected override void DisposeResources()
|
protected override void DisposeResources()
|
||||||
{
|
{
|
||||||
this.formChangeTimer.Dispose();
|
try
|
||||||
|
{
|
||||||
|
this.formChangeTimer.Stop();
|
||||||
|
this.formChangeTimer.Dispose();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
base.DisposeResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -92,4 +92,23 @@ public partial class ConfigurationText : ConfigurationBaseCore
|
|||||||
await this.SettingsManager.StoreSettings();
|
await this.SettingsManager.StoreSettings();
|
||||||
await this.InformAboutChange();
|
await this.InformAboutChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Overrides of MSGComponentBase
|
||||||
|
|
||||||
|
protected override void DisposeResources()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.timer.Stop();
|
||||||
|
this.timer.Dispose();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
base.DisposeResources();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
@ -4,7 +4,7 @@ using Timer = System.Timers.Timer;
|
|||||||
|
|
||||||
namespace AIStudio.Components;
|
namespace AIStudio.Components;
|
||||||
|
|
||||||
public partial class DebouncedTextField : MudComponentBase
|
public partial class DebouncedTextField : MudComponentBase, IDisposable
|
||||||
{
|
{
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public string Label { get; set; } = string.Empty;
|
public string Label { get; set; } = string.Empty;
|
||||||
@ -94,4 +94,21 @@ public partial class DebouncedTextField : MudComponentBase
|
|||||||
this.debounceTimer.Stop();
|
this.debounceTimer.Stop();
|
||||||
this.debounceTimer.Start();
|
this.debounceTimer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.debounceTimer.Stop();
|
||||||
|
this.debounceTimer.Dispose();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
@ -100,6 +100,23 @@ public partial class Chat : MSGComponentBase
|
|||||||
|
|
||||||
#region Overrides of MSGComponentBase
|
#region Overrides of MSGComponentBase
|
||||||
|
|
||||||
|
protected override void DisposeResources()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.splitterSaveTimer.Stop();
|
||||||
|
this.splitterSaveTimer.Dispose();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
base.DisposeResources();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
||||||
{
|
{
|
||||||
switch (triggeredEvent)
|
switch (triggeredEvent)
|
||||||
@ -111,6 +128,4 @@ public partial class Chat : MSGComponentBase
|
|||||||
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
@ -152,4 +152,23 @@ public partial class Writer : MSGComponentBase
|
|||||||
this.suggestion = string.Join(' ', words.Skip(1));
|
this.suggestion = string.Join(' ', words.Skip(1));
|
||||||
this.StateHasChanged();
|
this.StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Overrides of MSGComponentBase
|
||||||
|
|
||||||
|
protected override void DisposeResources()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.typeTimer.Stop();
|
||||||
|
this.typeTimer.Dispose();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
base.DisposeResources();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
@ -1,2 +1,3 @@
|
|||||||
# v0.9.51, build 226 (2025-08-xx xx:xx UTC)
|
# v0.9.51, build 226 (2025-08-xx xx:xx UTC)
|
||||||
|
- Improved memory usage in several areas of the app.
|
||||||
- Fixed a bug in various assistants where some text fields were not reset when resetting.
|
- Fixed a bug in various assistants where some text fields were not reset when resetting.
|
Loading…
Reference in New Issue
Block a user