Extend client timeout to 14 days, improve plugin setup flow, and refine app behavior after sleep mode

This commit is contained in:
Thorsten Sommer 2025-04-24 09:48:39 +02:00
parent fdca581c90
commit 75442a1241
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
4 changed files with 19 additions and 15 deletions

View File

@ -175,17 +175,18 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis
_ = Task.Run(async () =>
{
// Set up the plugin system:
PluginFactory.Setup();
// Ensure that all internal plugins are present:
await PluginFactory.EnsureInternalPlugins();
// Load (but not start) all plugins, without waiting for them:
var pluginLoadingTimeout = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await PluginFactory.LoadAll(pluginLoadingTimeout.Token);
// Set up hot reloading for plugins:
PluginFactory.SetUpHotReloading();
if (PluginFactory.Setup())
{
// Ensure that all internal plugins are present:
await PluginFactory.EnsureInternalPlugins();
// Load (but not start) all plugins, without waiting for them:
var pluginLoadingTimeout = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await PluginFactory.LoadAll(pluginLoadingTimeout.Token);
// Set up hot reloading for plugins:
PluginFactory.SetUpHotReloading();
}
});
}

View File

@ -130,7 +130,7 @@ internal sealed class Program
.AddHubOptions(options =>
{
options.MaximumReceiveMessageSize = null;
options.ClientTimeoutInterval = TimeSpan.FromSeconds(1_200);
options.ClientTimeoutInterval = TimeSpan.FromDays(14);
options.HandshakeTimeout = TimeSpan.FromSeconds(30);
});

View File

@ -20,10 +20,10 @@ public static partial class PluginFactory
/// Set up the plugin factory. We will read the data directory from the settings manager.
/// Afterward, we will create the plugins directory and the internal plugin directory.
/// </summary>
public static void Setup()
public static bool Setup()
{
if(IS_INITIALIZED)
return;
return false;
DATA_DIR = SettingsManager.DataDirectory!;
PLUGINS_ROOT = Path.Join(DATA_DIR, "plugins");
@ -34,6 +34,8 @@ public static partial class PluginFactory
HOT_RELOAD_WATCHER = new(PLUGINS_ROOT);
IS_INITIALIZED = true;
return true;
}
public static void Dispose()

View File

@ -1,5 +1,6 @@
# v0.9.41, build 216 (2025-0x-xx xx:xx UTC)
- Added the user-language, as provided by the OS, to the about page. This helps in identifying user-specific issues related to language settings.
- Changed the terminology from "temporary chats" to "disappearing chats" in the UI. This makes it clearer to understand the purpose of these chats.
- Improved the hot reloading of the plugin system to prevent overlapping reloads.
- Improved the hot reloading of the plugin system to prevent overlapping reloads.
- Improved the app behavior when the user system was waked up from sleep mode.
- Fixed the color for the update notification button to match the color theme.