mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
* Convert server to new single-file startup model. * Add remote control implementations. * Implement IViewerAuthorizer. * Update hub endpoints. * Implement HubEventHandler. * Implement ViewerHubDataProvider. * Implement page data provider. * Implement RCL and refactor. * Update submodule. * Replace submodule with NuGet. * Update copy URL. * Update NuGet. * Remove deprecated WebRTC. * Remove deprecated WebRTC. * Update Immense.RemoteControl * Building out desktop projects. * Bring more services into submodule. * Update submodule. * Update submodule. * Refactoring for module. * Update submodule. * Update submodule * Got Windows desktop app running. * Refactor for submodule changes. * FIx unattended session start. * Switch desktop app out of console mode. * Fix tests. * Update publishing. * Remove ClickOnce middleware. * Remove ClickOnce remnants. * Update submodule * Add some logging. * Update Linux path. * Update submodule. * Add cleanup service for unattended sessions that failed to start. * Update submodule. * Fix chat. * Add ValidateExecutableReferencesMatchSelfContained property. * Add other submodule projects. Align checkbox. * Update submodule. Reduce deserialization in the browser, resulting in faster renders. * Update submodule. * Update submodule. * Update submodule. * Update submodule. * Add orgId back for branding. * Get branding loading in desktop apps. * Update submodule. * Create log dir. * Refactor version check on config page. * Update submodule. * Update submodule. * Change submodule URL. * Correct namespace. * Update submodule. * Checkout submodules recursively.
57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using Immense.RemoteControl.Desktop.Shared.Abstractions;
|
|
using Immense.RemoteControl.Desktop.UI.WPF.Services;
|
|
using System.Threading.Tasks;
|
|
using System.Threading;
|
|
using System;
|
|
using Immense.RemoteControl.Desktop.Windows;
|
|
using Remotely.Desktop.Shared.Services;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
using Remotely.Shared.Services;
|
|
using Immense.RemoteControl.Desktop.Shared.Services;
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
using Immense.RemoteControl.Desktop.Shared.Enums;
|
|
using Remotely.Shared;
|
|
|
|
var provider = await Startup.UseRemoteControlClient(
|
|
args,
|
|
config =>
|
|
{
|
|
config.AddBrandingProvider<BrandingProvider>();
|
|
},
|
|
services =>
|
|
{
|
|
services.AddLogging(builder =>
|
|
{
|
|
#if DEBUG
|
|
builder.SetMinimumLevel(LogLevel.Debug);
|
|
#endif
|
|
builder.AddProvider(new FileLoggerProvider());
|
|
});
|
|
|
|
services.AddSingleton<IOrganizationIdProvider, OrganizationIdProvider>();
|
|
},
|
|
async services =>
|
|
{
|
|
var appState = services.GetRequiredService<IAppState>();
|
|
if (appState.ArgDict.TryGetValue("org-id", out var orgId))
|
|
{
|
|
var orgIdProvider = services.GetRequiredService<IOrganizationIdProvider>();
|
|
orgIdProvider.OrganizationId = orgId;
|
|
}
|
|
|
|
var brandingProvider = services.GetRequiredService<IBrandingProvider>();
|
|
if (brandingProvider is BrandingProvider branding)
|
|
{
|
|
await branding.TrySetFromApi();
|
|
}
|
|
|
|
},
|
|
AppConstants.ServerUrl);
|
|
|
|
var dispatcher = provider.GetRequiredService<IWindowsUiDispatcher>();
|
|
try
|
|
{
|
|
await Task.Delay(Timeout.InfiniteTimeSpan, dispatcher.ApplicationExitingToken);
|
|
}
|
|
catch (TaskCanceledException) { } |