diff --git a/ScreenCast.Core/Capture/ScreenCaster.cs b/ScreenCast.Core/Capture/ScreenCaster.cs index 7254e164..5f52961e 100644 --- a/ScreenCast.Core/Capture/ScreenCaster.cs +++ b/ScreenCast.Core/Capture/ScreenCaster.cs @@ -126,7 +126,6 @@ namespace Remotely.ScreenCast.Core.Capture // Close if no one is viewing. if (conductor.Viewers.Count == 0 && conductor.Mode == Enums.AppMode.Unattended) { - conductor.InvokeScreenCastEnded(); Environment.Exit(0); } diff --git a/ScreenCast.Core/Conductor.cs b/ScreenCast.Core/Conductor.cs index 8e5abc5d..53e4179a 100644 --- a/ScreenCast.Core/Conductor.cs +++ b/ScreenCast.Core/Conductor.cs @@ -18,8 +18,6 @@ namespace Remotely.ScreenCast.Core public class Conductor { - public event EventHandler ScreenCastEnded; - public event EventHandler AudioToggled; public event EventHandler ClipboardTransferred; @@ -100,11 +98,6 @@ namespace Remotely.ScreenCast.Core ClipboardTransferred?.Invoke(null, transferText); } - internal void InvokeScreenCastEnded() - { - ScreenCastEnded?.Invoke(null, null); - } - internal void InvokeScreenCastInitiated(ScreenCastRequest viewerIdAndRequesterName) { ScreenCastInitiated?.Invoke(null, viewerIdAndRequesterName); diff --git a/ScreenCast.Win/Capture/WinVisualFx.cs b/ScreenCast.Win/Capture/WinVisualFx.cs deleted file mode 100644 index 6ccf63a6..00000000 --- a/ScreenCast.Win/Capture/WinVisualFx.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.Win32; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Remotely_ScreenCast.Win.Capture -{ - public class WinVisualFx - { - - private static object PreviousSetting { get; set; } - - public static void RestoreSetting() - { - var vfxKey = Registry.CurrentUser.CreateSubKey(@"Software\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects", true); - vfxKey?.SetValue("VisualFXSetting", PreviousSetting, RegistryValueKind.DWord); - } - - public static void SetHighPerformance() - { - var vfxKey = Registry.CurrentUser.CreateSubKey(@"Software\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects", true); - PreviousSetting = vfxKey?.GetValue("VisualFXSetting"); - vfxKey?.SetValue("VisualFXSetting", 2, RegistryValueKind.DWord); - } - } -} diff --git a/ScreenCast.Win/Program.cs b/ScreenCast.Win/Program.cs index 0d72485f..cf169c34 100644 --- a/ScreenCast.Win/Program.cs +++ b/ScreenCast.Win/Program.cs @@ -26,7 +26,6 @@ using Remotely.Shared.Services; using System.Runtime.InteropServices; using System.Threading; using Microsoft.Win32; -using Remotely_ScreenCast.Win.Capture; namespace Remotely.ScreenCast.Win { @@ -54,7 +53,6 @@ namespace Remotely.ScreenCast.Win Conductor.ScreenCastInitiated += ScreenCastInitiated; Conductor.AudioToggled += AudioToggled; Conductor.ClipboardTransferred += Conductor_ClipboardTransferred; - Conductor.ScreenCastEnded += Conductor_ScreenCastEnded; Conductor.Connect().ContinueWith(async (task) => { @@ -80,11 +78,6 @@ namespace Remotely.ScreenCast.Win } } - private static void Conductor_ScreenCastEnded(object sender, EventArgs e) - { - WinVisualFx.RestoreSetting(); - } - private static void AudioToggled(object sender, bool toggledOn) { if (toggledOn) @@ -184,7 +177,6 @@ namespace Remotely.ScreenCast.Win capturer = new BitBltCapture(); } await Conductor.CasterSocket.SendCursorChange(CursorIconWatcher.GetCurrentCursor(), new List() { screenCastRequest.ViewerID }); - WinVisualFx.SetHighPerformance(); ScreenCaster.BeginScreenCasting(screenCastRequest.ViewerID, screenCastRequest.RequesterName, capturer, Conductor); } } diff --git a/ScreenCast.Win/ScreenCast.Win.csproj b/ScreenCast.Win/ScreenCast.Win.csproj index 179e973b..4c50fa15 100644 --- a/ScreenCast.Win/ScreenCast.Win.csproj +++ b/ScreenCast.Win/ScreenCast.Win.csproj @@ -250,7 +250,6 @@ - @@ -289,8 +288,8 @@ if $(ConfigurationName) == Debug ( if $(PlatformName) == Any CPU ( - md "$(SolutionDir)Agent\bin\Debug\netcoreapp2.2\ScreenCast\" - copy /y "$(TargetDir)\*" "$(SolutionDir)Agent\bin\Debug\netcoreapp2.2\ScreenCast\" + md "$(SolutionDir)Agent\bin\Debug\netcoreapp3.0\ScreenCast\" + copy /y "$(TargetDir)\*" "$(SolutionDir)Agent\bin\Debug\netcoreapp3.0\ScreenCast\" ) ) diff --git a/Server/Data/DataService.cs b/Server/Data/DataService.cs index c0d23ce2..aff736e8 100644 --- a/Server/Data/DataService.cs +++ b/Server/Data/DataService.cs @@ -285,14 +285,14 @@ namespace Remotely.Server.Data // Users within the target device's organization, where user ID is in the list of IDs passed in, and // user is either an admin, the target device has no permissions assigned, or the target device is in a // permission group that the user is also in. - var authorizedUsers = RemotelyContext.Users.Where(x => + var targetUsers = RemotelyContext.Users.Where(x => x.OrganizationID == device.OrganizationID && - userIDs.Contains(x.Id) && - ( - x.IsAdministrator || - targetDevice.DevicePermissionLinks.Count == 0 || - targetDevice.DevicePermissionLinks.Any(y => y.PermissionGroup.UserPermissionLinks.Any(z=>z.RemotelyUserID == x.Id)) - )); + userIDs.Contains(x.Id)).ToList(); + + var authorizedUsers = targetUsers.Where(x => + x.IsAdministrator || + targetDevice.DevicePermissionLinks.Count == 0 || + targetDevice.DevicePermissionLinks.Any(y => y.PermissionGroup.UserPermissionLinks.Any(z => z.RemotelyUserID == x.Id))); return authorizedUsers.ToList(); } diff --git a/Server/Startup.cs b/Server/Startup.cs index 939bb37b..3836a99c 100644 --- a/Server/Startup.cs +++ b/Server/Startup.cs @@ -136,6 +136,7 @@ namespace Remotely.Server services.AddSignalR(options => { options.EnableDetailedErrors = IsDev; + options.MaximumReceiveMessageSize = 20000000; }) .AddJsonProtocol(options => {