bug fix

bug fix

--- VRTK_Playmaker_IF/Scripts/VRTKPM_IntaractableObject.cs
+++ VRTK_Playmaker_IF/Scripts/VRTKPM_IntaractableObject.cs
@@ -22,25 +22,27 @@
         // イベントを送信する関数
         void SendEvent(string eventText)
         {
-            if( FSMs != null )
+            FSMs = GetComponents<PlayMakerFSM>();
+            if ( FSMs != null )
             {
                 foreach (PlayMakerFSM fsm in FSMs)
                 {
                     Debug.Log("Send To FSM:" + eventText);
                     fsm.Fsm.Event(eventText);
                 }
+            }else
+            {
+                Debug.LogError("FSMs is NULL!!!");
             }
         }

         GameObject preUsingObject = null;
         public override void StartUsing(GameObject currentUsingObject)
         {
-            Debug.Log("StartUsing");
             base.StartUsing(usingObject);

             if( preUsingObject != currentUsingObject)
             {
-                Debug.Log("Send VRTK_StartUsing Event: currentUsingObject:" + currentUsingObject.name);
                 preUsingObject = currentUsingObject;

                 SendEvent("VRTK_StartUsing");


Remove leftover code

Remove leftover code

--- WalletWasabi.Gui/Dialogs/AvaloniaControlsExtensions.cs
+++ WalletWasabi.Gui/Dialogs/AvaloniaControlsExtensions.cs
@@ -30,7 +30,6 @@
 			{
 				try
 				{
-					throw new Exception();
 					return await ShowOpenSaveFileDialogAsync(me, parent);
 				}
 				catch (Exception ex)


listen to more events to initialize lazy-load

this ensures the field is always initialized, e.g. when creating a new instance
of the part via code

--- Handlers/SocrataSettingsPartHandler.cs
+++ Handlers/SocrataSettingsPartHandler.cs
@@ -26,10 +26,12 @@
             //attach the part when the Site is activated
             Filters.Add(new ActivatingFilter<SocrataSettingsPart>("Site"));

-            OnLoaded<SocrataSettingsPart>(lazyLoadHandlers);
+            OnActivated<SocrataSettingsPart>((_, part) => lazyLoadHandlers(part));
+            OnCreating<SocrataSettingsPart>((_, part) => lazyLoadHandlers(part));
+            OnLoaded<SocrataSettingsPart>((_, part) => lazyLoadHandlers(part));
         }

-        private void lazyLoadHandlers(LoadContentContext context, SocrataSettingsPart part)
+        private void lazyLoadHandlers(SocrataSettingsPart part)
         {
             //decrypt stored password on read
             part.PasswordField.Getter(() => {


Updated InfoCommands

Updated InfoCommands

--- WizBot/Modules/Administration/Commands/InfoCommands.cs
+++ WizBot/Modules/Administration/Commands/InfoCommands.cs
@@ -96,4 +96,4 @@
                 });
         }
     }
-}
+}


OpenTK binding changes: Made the GL program handle public accessable via a property. Exposed a method to retrieve the compiled GL source.

--- IIS.SLSharp.Bindings.OpenTK/Program.cs
+++ IIS.SLSharp.Bindings.OpenTK/Program.cs
@@ -2,41 +2,42 @@
 using System.Collections.Generic;
 using IIS.SLSharp.Descriptions;
 using OpenTK.Graphics.OpenGL;
+using System.Linq;

 namespace IIS.SLSharp.Bindings.OpenTK
 {
     sealed class Program: IProgram
     {
-        private int _name;
+        public int Name { get; private set; }

         public List<VariableDescription> VertexIns { get; private set; }

         public Program(IEnumerable<Tuple<int, SourceDescription>> units)
         {
-            _name = GL.CreateProgram();
+            Name = GL.CreateProgram();

             var merged = SourceDescription.Empty;
             foreach (var unit in units)
             {
-                GL.AttachShader(_name, unit.Item1);
+                GL.AttachShader(Name, unit.Item1);
                 merged = merged.Merge(unit.Item2);
             }
             VertexIns = merged.VertexIns;

-            GL.LinkProgram(_name);
+            GL.LinkProgram(Name);
             Utilities.CheckGL();
         }

         public void Dispose()
         {
-            if (_name != 0)
-                GL.DeleteProgram(_name);
-            _name = 0;
+            if (Name != 0)
+                GL.DeleteProgram(Name);
+            Name = 0;
         }

         public void Activate()
         {
-            GL.UseProgram(_name);
+            GL.UseProgram(Name);
             Utilities.CheckGL();
         }

@@ -47,16 +48,31 @@

         public int GetUniformIndex(string name)
         {
-            var result = GL.GetUniformLocation(_name, name);
+            var result = GL.GetUniformLocation(Name, name);
             Utilities.CheckGL();
             return result;
         }

         public int GetAttributeIndex(string name)
         {
-            var result = GL.GetAttribLocation(_name, name);
+            var result = GL.GetAttribLocation(Name, name);
             Utilities.CheckGL();
             return result;
         }
+
+        public Tuple<byte[], BinaryFormat> GetBinary()
+        {
+            int length;
+            GL.GetProgram(Name, ProgramParameter.ProgramBinaryLength, out length);
+
+            var bin = new byte[length];
+            BinaryFormat format;
+            int numRead;
+            GL.GetProgramBinary(Name, length, out numRead, out format, bin);
+            if (numRead < length)
+                bin = bin.Take(length).ToArray();
+
+            return new Tuple<byte[], BinaryFormat>(bin, format);
+        }
     }
 }


Normalize newlines with negative lookbehind (#4188)

The previous iteration of this normalization mechanism ate the character
before a bare `\n` when run on Windows.

--- src/Build.OM.UnitTests/Construction/WhiteSpacePreservation_Tests.cs
+++ src/Build.OM.UnitTests/Construction/WhiteSpacePreservation_Tests.cs
@@ -448,8 +448,8 @@
             // Each OS uses its own line endings. Using WSL on Windows leads to LF on Windows which messes up the tests. This happens due to git LF <-> CRLF conversions.
             if (NativeMethodsShared.IsWindows)
             {
-                projectContents = Regex.Replace(projectContents, @"[^\r]\n", "\r\n", RegexOptions.Multiline);
-                updatedProject = Regex.Replace(updatedProject, @"[^\r]\n", "\r\n", RegexOptions.Multiline);
+                projectContents = Regex.Replace(projectContents, @"(?<!\r)\n", "\r\n", RegexOptions.Multiline);
+                updatedProject = Regex.Replace(updatedProject, @"(?<!\r)\n", "\r\n", RegexOptions.Multiline);
             }
             else
             {


create register page

create register page

--- src/Clients/TeachersDiary.Clients.Mvc/Views/Account/Register.cshtml
+++ src/Clients/TeachersDiary.Clients.Mvc/Views/Account/Register.cshtml
@@ -1,70 +1,75 @@
 @model RegisterViewModel

 @{
-    Layout = "~/Views/Shared/_Layout.cshtml";
+    Layout = null;
 }

-@section Styles {
-    @Styles.Render("~/Content/forms-css")
-}
+<!DOCTYPE html>
+
+
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">

-

-

-

-            @using (Html.BeginForm<AccountController>(c => c.Register(), FormMethod.Post))
+    <title>Учителски Дневник | Вход</title>
+
+    @Styles.Render("~/googleFonts")
+    @Styles.Render("~/Content/css")
+
+
+
+

+

+
Регистрация

+            @using (Html.BeginForm<AccountController>(c => c.Register(), FormMethod.Post, null, new {@class= "m-t" }))
             {
                 @Html.AntiForgeryToken()

-
@GlobalResources.NewProfileLabel

+

+                    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
+

-

-                    @Html.TextBoxFor(m => m.Email, new { @class = "form-control", placeholder = "Имейл." })
+

+                    @Html.TextBoxFor(m => m.Email, new { @class = "form-control", placeholder = "Имейл" })
                     @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })

+
+

+                    @Html.PasswordFor(m => m.Password, new { @class = "form-control", placeholder = "Парола" })
+                    @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
+

-

-
-

-                    @Html.PasswordFor(m => m.Password, new { @class = "form-control", placeholder = "Парола." })
-                    @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
-

-
-

-
-

-                    @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control", placeholder = "Повтори парола." })
+

+                    @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control", placeholder = "Повтори парола" })
                     @Html.ValidationMessageFor(m => m.ConfirmPassword, "", new { @class = "text-danger" })
                     @Html.ValidationSummary(true, "", new { @class = "text-danger" })

-

+

+                    @Html.DropDownListFor(x => x.SelectedSchool, Model.Schools, GlobalResources.SelectSchool
+                   ,new {@class = "form-control m-b" })
+                    @Html.ValidationMessageFor(model => model.SelectedSchool, "", new { @class = "text-danger" })
+

-                    @Html.DropDownListFor(x => x.SelectedSchool, Model.Schools, GlobalResources.SelectSchool)
-                    @Html.ValidationMessageFor(model => model.SelectedSchool, "", new {@class = "text-danger"})
-

-
-

-
-

-                    <button id="submit-btn" type="submit">
+                    <button id="submit-btn" class="btn btn-primary block full-width m-b" type="submit">
                         @GlobalResources.CreateButton
                     </button>

-

+

+                    Имате регистриран акаунт?
+

-

-

-                        @(Html.ActionLink<AccountController>(GlobalResources.LogInLabel, c => c.Login()))
-                        @(Html.ActionLink<LandingController>(GlobalResources.HomeLabel, c => c.Index()))
-

-

+                @(Html.ActionLink<AccountController>(GlobalResources.LogInLabel, c => c.Login(), null, new {@class = "btn btn-sm btn-white btn-block" }))
+
             }
-

+
+

+                © @DateTime.Now.Year Андриян Кръстев
+

+

-

-
-@section scripts {
-    @Scripts.Render("~/bundles/jqueryval")
-}
+@Scripts.Render("~/bundles/jquery")
+@Scripts.Render("~/bundles/jqueryval")
+
+


Fix nullability warnings

Fix nullability warnings

--- src/Compilers/CSharp/Portable/Symbols/Source/LocalFunctionSymbol.cs
+++ src/Compilers/CSharp/Portable/Symbols/Source/LocalFunctionSymbol.cs
@@ -317,7 +317,7 @@

         public sealed override Symbol ContainingSymbol => _containingSymbol;

-        public override string Name => Syntax.Identifier.ValueText;
+        public override string Name => Syntax.Identifier.ValueText ?? "";

         public SyntaxToken NameToken => Syntax.Identifier;

@@ -408,7 +408,7 @@

                 var identifier = parameter.Identifier;
                 var location = identifier.GetLocation();
-                var name = identifier.ValueText;
+                var name = identifier.ValueText ?? "";

                 foreach (var @param in result)
                 {


use humanizer for ModEasy lives setting

use humanizer for ModEasy lives setting

--- osu.Game/Rulesets/Mods/ModEasy.cs
+++ osu.Game/Rulesets/Mods/ModEasy.cs
@@ -2,6 +2,7 @@
 // See the LICENCE file in the repository root for full licence text.

 using System;
+using Humanizer;
 using osu.Framework.Bindables;
 using osu.Framework.Graphics.Sprites;
 using osu.Game.Beatmaps;
@@ -28,7 +29,7 @@
             MaxValue = 10
         };

-        public override string SettingDescription => Retries.IsDefault ? "" : $" ({Retries.Value} lives)";
+        public override string SettingDescription => Retries.IsDefault ? "" : $"{"lives".ToQuantity(Retries.Value)}";

         private int retries;


Update test.

Update test.

--- src/Compilers/CSharp/Test/Syntax/Parsing/ParserErrorMessageTests.cs
+++ src/Compilers/CSharp/Test/Syntax/Parsing/ParserErrorMessageTests.cs
@@ -2566,8 +2566,7 @@
             ParseAndValidate(test, Diagnostic(ErrorCode.ERR_DefaultValueNotAllowed, "="));
         }

-        [WorkItem(540251, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/540251")]
-        [Fact]
+        [Fact, WorkItem(540251, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/540251")]
         public void CS7014ERR_AttributesNotAllowed()
         {
             var test = @"
@@ -2586,16 +2585,25 @@
 }
 ";

-            ParseAndValidate(test,
-    // (10,13): error CS7014: Attributes are not valid in this context.
-    //             [ObsoleteAttribute(message)] [ObsoleteAttribute(message)] int x,
-    Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]"),
-    // (10,42): error CS7014: Attributes are not valid in this context.
-    //             [ObsoleteAttribute(message)] [ObsoleteAttribute(message)] int x,
-    Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]"),
-    // (11,13): error CS7014: Attributes are not valid in this context.
-    //             [ObsoleteAttribute(message)] int y
-    Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]"));
+            CreateCompilationWithMscorlib(test).VerifyDiagnostics(
+                // (10,13): error CS7014: Attributes are not valid in this context.
+                //             [ObsoleteAttribute(message)] [ObsoleteAttribute(message)] int x,
+                Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]").WithLocation(10, 13),
+                // (10,42): error CS7014: Attributes are not valid in this context.
+                //             [ObsoleteAttribute(message)] [ObsoleteAttribute(message)] int x,
+                Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]").WithLocation(10, 42),
+                // (11,13): error CS7014: Attributes are not valid in this context.
+                //             [ObsoleteAttribute(message)] int y
+                Diagnostic(ErrorCode.ERR_AttributesNotAllowed, "[ObsoleteAttribute(message)]").WithLocation(11, 13),
+                // (9,25): error CS1593: Delegate 'Action<int>' does not take 2 arguments
+                //         Action<int> a = delegate (
+                Diagnostic(ErrorCode.ERR_BadDelArgCount, @"delegate (
+            [ObsoleteAttribute(message)] [ObsoleteAttribute(message)] int x,
+            [ObsoleteAttribute(message)] int y
+        ) { }").WithArguments("System.Action<int>", "2").WithLocation(9, 25),
+                // (8,22): warning CS0219: The variable 'message' is assigned but its value is never used
+                //         const string message = "the parameter is obsolete";
+                Diagnostic(ErrorCode.WRN_UnreferencedVarAssg, "message").WithArguments("message").WithLocation(8, 22));
         }

         [WorkItem(863401, "DevDiv/Personal")]


Trimmed more whitespaces

Trimmed more whitespaces

--- osu.Game/Screens/Select/Footer.cs
+++ osu.Game/Screens/Select/Footer.cs
@@ -123,9 +123,9 @@

             updateModeLight();
         }
-
+
         protected override bool InternalContains(Vector2 screenSpacePos) => base.InternalContains(screenSpacePos) || StartButton.Contains(screenSpacePos);
-
+
         protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => true;

         protected override bool OnClick(InputState state) => true;


IDbConnection extension method fixed

IDbConnection extension method fixed

--- src/Dapper.TableValueParameter/Extensions/DbConnectionExtensions.cs
+++ src/Dapper.TableValueParameter/Extensions/DbConnectionExtensions.cs
@@ -1,6 +1,7 @@
 using System.Data;

 using Dapper.TableValuedParameter;
+using System.Collections.Generic;

 namespace Dapper.TableValueParameter.Extensions
 {
@@ -9,10 +10,10 @@
     /// </summary>
     public static class DbConnectionExtensions
     {
-        public static void Query<TAny>(this IDbConnection connection, string sql, Tvp tvp, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = null, CommandType? commandType = null) where TAny : class
+        public static IEnumerable<TAny> Query<TAny>(this IDbConnection connection, string sql, Tvp tvp, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = null, CommandType? commandType = null) where TAny : class
         {
             //Tvp as object to prevent recursive loop
-            connection.Query<TAny>(sql, tvp as object, transaction, buffered, commandTimeout, commandType);
+            return connection.Query<TAny>(sql, tvp as object, transaction, buffered, commandTimeout, commandType);
         }
     }
 }


Introduce each partial search result chunk to GUI

--- src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPService.cs
+++ src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPService.cs
@@ -113,8 +113,11 @@
                             musicTracks.Add(item as MusicTrack);
 					    }

-                        if (results.HasMoreResults)
+                        if (results.HasMoreResults) {
                             results = results.GetMoreResults(remoteContentDirectory);
+                            source.AddTracks (musicTracks);
+                            musicTracks.Clear();
+                        }
                         else
                             hasresults = false;
                     }


Added specs for DirectoryInfo.Delete

Added specs for DirectoryInfo.Delete

--- src/Fakes.Tests/Specs/FakeDirectoryInfo/DirectoryInfoDeleteSpecs.cs
+++ src/Fakes.Tests/Specs/FakeDirectoryInfo/DirectoryInfoDeleteSpecs.cs
@@ -1,7 +1,80 @@
-namespace TestableFileSystem.Fakes.Tests.Specs.FakeDirectoryInfo
+using System.IO;
+using FluentAssertions;
+using TestableFileSystem.Fakes.Builders;
+using TestableFileSystem.Interfaces;
+using Xunit;
+
+namespace TestableFileSystem.Fakes.Tests.Specs.FakeDirectoryInfo
 {
     public sealed class DirectoryInfoDeleteSpecs
     {
-        // TODO: Add specs
+        [Fact]
+        private void When_deleting_directory_it_must_succeed()
+        {
+            // Arrange
+            const string path = @"c:\some\folder";
+
+            IFileSystem fileSystem = new FakeFileSystemBuilder()
+                .IncludingDirectory(path)
+                .Build();
+
+            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);
+
+            // Act
+            dirInfo.Delete();
+
+            // Assert
+            fileSystem.Directory.Exists(path).Should().BeFalse();
+        }
+
+        [Fact]
+        private void When_deleting_directory_it_must_update_cache_on_refresh()
+        {
+            // Arrange
+            const string path = @"c:\some\folder";
+
+            IFileSystem fileSystem = new FakeFileSystemBuilder()
+                .IncludingDirectory(path)
+                .Build();
+
+            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);
+
+            bool beforeFound = dirInfo.Exists;
+
+            dirInfo.Delete();
+
+            // Act
+            dirInfo.Refresh();
+
+            // Assert
+            bool afterFound = dirInfo.Exists;
+
+            beforeFound.Should().BeTrue();
+            afterFound.Should().BeFalse();
+        }
+
+        [Fact]
+        private void When_deleting_directory_it_must_not_refresh_automatically()
+        {
+            // Arrange
+            const string path = @"c:\some\folder";
+
+            IFileSystem fileSystem = new FakeFileSystemBuilder()
+                .IncludingDirectory(path, FileAttributes.Hidden)
+                .Build();
+
+            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);
+
+            bool beforeFound = dirInfo.Exists;
+
+            // Act
+            dirInfo.Delete();
+
+            // Assert
+            bool afterFound = dirInfo.Exists;
+
+            beforeFound.Should().BeTrue();
+            afterFound.Should().BeTrue();
+        }
     }
 }


Fix missing root

Fix missing root

--- src/FlexibleConfiguration/ConfigurationBuilderProviderExtensions.cs
+++ src/FlexibleConfiguration/ConfigurationBuilderProviderExtensions.cs
@@ -160,7 +160,7 @@
             string root = null)
         {
             var contents = FileOperations.Load(filePath, optional);
-            return builder.AddProperties(contents);
+            return builder.AddProperties(contents, root);
         }

         /// <summary>


Small performance optimization for resolution of connection settings.

--- src/proj/EventStore.Persistence.SqlPersistence/ConfigurationConnectionFactory.cs
+++ src/proj/EventStore.Persistence.SqlPersistence/ConfigurationConnectionFactory.cs
@@ -7,7 +7,7 @@
 	using System.Data.SqlClient;
 	using System.Linq;

-    public class ConfigurationConnectionFactory : IConnectionFactory
+	public class ConfigurationConnectionFactory : IConnectionFactory
 	{
 		private const int DefaultShards = 16;
 		private const string DefaultConnectionName = "EventStore";
@@ -54,18 +54,18 @@
 			return connection;
 		}

-	    private ConnectionStringSettings GetConnectionStringSettings(string connectionName)
-	    {
-            var keyExists = ConfigurationManager.ConnectionStrings
-                .Cast<ConnectionStringSettings>()
-	            .Any(p => p.Name == connectionName);
+		private static ConnectionStringSettings GetConnectionStringSettings(string connectionName)
+		{
+			var settings = ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>()
+				.FirstOrDefault(x => x.Name == connectionName);

-            if (!keyExists)
-                throw new StorageException("Could not find connectionstring '{0}' in your configuration");
-	        return ConfigurationManager.ConnectionStrings[connectionName];
-	    }
+			if (settings == null)
+				throw new StorageException("Could not find connection string '{0}' in your configuration.");

-	    protected virtual string BuildConnectionString(Guid streamId, ConnectionStringSettings setting)
+			return settings;
+		}
+
+		protected virtual string BuildConnectionString(Guid streamId, ConnectionStringSettings setting)
 		{
 			if (this.shards == 0)
 				return setting.ConnectionString;


Proper names for labels in edit view (win)

--- src/ui/windows/TogglDesktop/TogglDesktop/TimeEntryEditViewController.Designer.cs
+++ src/ui/windows/TogglDesktop/TogglDesktop/TimeEntryEditViewController.Designer.cs
@@ -29,18 +29,18 @@
         private void InitializeComponent()
         {
             this.components = new System.ComponentModel.Container();
-            this.label1 = new System.Windows.Forms.Label();
+            this.labelDescription = new System.Windows.Forms.Label();
             this.labelProject = new System.Windows.Forms.Label();
             this.linkAddProject = new System.Windows.Forms.LinkLabel();
-            this.label3 = new System.Windows.Forms.Label();
+            this.labelDuration = new System.Windows.Forms.Label();
             this.textBoxDuration = new System.Windows.Forms.TextBox();
-            this.label4 = new System.Windows.Forms.Label();
+            this.labelStartEnd = new System.Windows.Forms.Label();
             this.textBoxStartTime = new System.Windows.Forms.TextBox();
-            this.label5 = new System.Windows.Forms.Label();
+            this.labelDash = new System.Windows.Forms.Label();
             this.textBoxEndTime = new System.Windows.Forms.TextBox();
-            this.label6 = new System.Windows.Forms.Label();
+            this.labelDate = new System.Windows.Forms.Label();
             this.dateTimePickerStartDate = new System.Windows.Forms.DateTimePicker();
-            this.label7 = new System.Windows.Forms.Label();
+            this.labelTags = new System.Windows.Forms.Label();
             this.statusStripLastUpdate = new System.Windows.Forms.StatusStrip();
             this.toolStripStatusLabelLastUpdate = new System.Windows.Forms.ToolStripStatusLabel();
             this.buttonsPanel = new System.Windows.Forms.Panel();
@@ -73,15 +73,15 @@
             this.panelAddProject.SuspendLayout();
             this.SuspendLayout();
             //
-            // label1
-            //
-            this.label1.AutoSize = true;
-            this.label1.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
-            this.label1.Location = new System.Drawing.Point(15, 13);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(72, 15);
-            this.label1.TabIndex = 0;
-            this.label1.Text = "Description:";
+            // labelDescription
+            //
+            this.labelDescription.AutoSize = true;
+            this.labelDescription.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
+            this.labelDescription.Location = new System.Drawing.Point(15, 13);
+            this.labelDescription.Name = "labelDescription";
+            this.labelDescription.Size = new System.Drawing.Size(72, 15);
+            this.labelDescription.TabIndex = 0;
+            this.labelDescription.Text = "Description:";
             //
             // labelProject
             //
@@ -106,15 +106,15 @@
             this.linkAddProject.Text = "Add new project";
             this.linkAddProject.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkAddProject_LinkClicked);
             //
-            // label3
-            //
-            this.label3.AutoSize = true;
-            this.label3.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
-            this.label3.Location = new System.Drawing.Point(15, 8);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(57, 15);
-            this.label3.TabIndex = 5;
-            this.label3.Text = "Duration:";
+            // labelDuration
+            //
+            this.labelDuration.AutoSize = true;
+            this.labelDuration.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
+            this.labelDuration.Location = new System.Drawing.Point(15, 8);
+            this.labelDuration.Name = "labelDuration";
+            this.labelDuration.Size = new System.Drawing.Size(57, 15);
+            this.labelDuration.TabIndex = 5;
+            this.labelDuration.Text = "Duration:";
             //
             // textBoxDuration
             //
@@ -125,15 +125,15 @@
             this.textBoxDuration.TabIndex = 4;
             this.textBoxDuration.Leave += new System.EventHandler(this.textBoxDuration_Leave);
             //
-            // label4
-            //
-            this.label4.AutoSize = true;
-            this.label4.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
-            this.label4.Location = new System.Drawing.Point(15, 8);
-            this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(88, 15);
-            this.label4.TabIndex = 7;
-            this.label4.Text = "Start-end time:";
+            // labelStartEnd
+            //
+            this.labelStartEnd.AutoSize = true;
+            this.labelStartEnd.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
+            this.labelStartEnd.Location = new System.Drawing.Point(15, 8);
+            this.labelStartEnd.Name = "labelStartEnd";
+            this.labelStartEnd.Size = new System.Drawing.Size(88, 15);
+            this.labelStartEnd.TabIndex = 7;
+            this.labelStartEnd.Text = "Start-end time:";
             //
             // textBoxStartTime
             //
@@ -144,14 +144,14 @@
             this.textBoxStartTime.TabIndex = 6;
             this.textBoxStartTime.Leave += new System.EventHandler(this.textBoxStartTime_Leave);
             //
-            // label5
-            //
-            this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(175, 8);
-            this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(10, 13);
-            this.label5.TabIndex = 9;
-            this.label5.Text = "-";
+            // labelDash
+            //
+            this.labelDash.AutoSize = true;
+            this.labelDash.Location = new System.Drawing.Point(175, 8);
+            this.labelDash.Name = "labelDash";
+            this.labelDash.Size = new System.Drawing.Size(10, 13);
+            this.labelDash.TabIndex = 9;
+            this.labelDash.Text = "-";
             //
             // textBoxEndTime
             //
@@ -162,15 +162,15 @@
             this.textBoxEndTime.TabIndex = 7;
             this.textBoxEndTime.Leave += new System.EventHandler(this.textBoxEndTime_Leave);
             //
-            // label6
-            //
-            this.label6.AutoSize = true;
-            this.label6.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
-            this.label6.Location = new System.Drawing.Point(15, 8);
-            this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(34, 15);
-            this.label6.TabIndex = 11;
-            this.label6.Text = "Date:";
+            // labelDate
+            //
+            this.labelDate.AutoSize = true;
+            this.labelDate.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
+            this.labelDate.Location = new System.Drawing.Point(15, 8);
+            this.labelDate.Name = "labelDate";
+            this.labelDate.Size = new System.Drawing.Size(34, 15);
+            this.labelDate.TabIndex = 11;
+            this.labelDate.Text = "Date:";
             //
             // dateTimePickerStartDate
             //
@@ -181,15 +181,15 @@
             this.dateTimePickerStartDate.TabIndex = 9;
             this.dateTimePickerStartDate.Leave += new System.EventHandler(this.dateTimePickerStartDate_Leave);
             //
-            // label7
-            //
-            this.label7.AutoSize = true;
-            this.label7.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
-            this.label7.Location = new System.Drawing.Point(15, 38);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(36, 15);
-            this.label7.TabIndex = 13;
-            this.label7.Text = "Tags:";
+            // labelTags
+            //
+            this.labelTags.AutoSize = true;
+            this.labelTags.Font = new System.Drawing.Font("Lucida Sans Unicode", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(186)));
+            this.labelTags.Location = new System.Drawing.Point(15, 38);
+            this.labelTags.Name = "labelTags";
+            this.labelTags.Size = new System.Drawing.Size(36, 15);
+            this.labelTags.TabIndex = 13;
+            this.labelTags.Text = "Tags:";
             //
             // statusStripLastUpdate
             //
@@ -295,7 +295,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
             this.panelBottom.Controls.Add(this.panelDateTag);
             this.panelBottom.Controls.Add(this.panelStartEndTime);
-            this.panelBottom.Controls.Add(this.label3);
+            this.panelBottom.Controls.Add(this.labelDuration);
             this.panelBottom.Controls.Add(this.textBoxDuration);
             this.panelBottom.Location = new System.Drawing.Point(0, 77);
             this.panelBottom.Name = "panelBottom";
@@ -309,9 +309,9 @@
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
             this.panelDateTag.Controls.Add(this.checkedListBoxTags);
-            this.panelDateTag.Controls.Add(this.label6);
+            this.panelDateTag.Controls.Add(this.labelDate);
             this.panelDateTag.Controls.Add(this.dateTimePickerStartDate);
-            this.panelDateTag.Controls.Add(this.label7);
+            this.panelDateTag.Controls.Add(this.labelTags);
             this.panelDateTag.Controls.Add(this.checkBoxBillable);
             this.panelDateTag.Location = new System.Drawing.Point(0, 60);
             this.panelDateTag.MinimumSize = new System.Drawing.Size(0, 100);
@@ -322,9 +322,9 @@
             //
             // panelStartEndTime
             //
-            this.panelStartEndTime.Controls.Add(this.label4);
+            this.panelStartEndTime.Controls.Add(this.labelStartEnd);
             this.panelStartEndTime.Controls.Add(this.textBoxEndTime);
-            this.panelStartEndTime.Controls.Add(this.label5);
+            this.panelStartEndTime.Controls.Add(this.labelDash);
             this.panelStartEndTime.Controls.Add(this.textBoxStartTime);
             this.panelStartEndTime.Location = new System.Drawing.Point(0, 30);
             this.panelStartEndTime.Name = "panelStartEndTime";
@@ -499,7 +499,7 @@
             this.Controls.Add(this.comboBoxProject);
             this.Controls.Add(this.labelProject);
             this.Controls.Add(this.comboBoxDescription);
-            this.Controls.Add(this.label1);
+            this.Controls.Add(this.labelDescription);
             this.Name = "TimeEntryEditViewController";
             this.Size = new System.Drawing.Size(317, 400);
             this.Load += new System.EventHandler(this.TimeEntryEditViewController_Load);
@@ -521,20 +521,20 @@

         #endregion

-        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label labelDescription;
         private CustomComboBox comboBoxDescription;
         private System.Windows.Forms.Label labelProject;
         private CustomComboBox comboBoxProject;
         private System.Windows.Forms.LinkLabel linkAddProject;
-        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label labelDuration;
         private System.Windows.Forms.TextBox textBoxDuration;
-        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.Label labelStartEnd;
         private System.Windows.Forms.TextBox textBoxStartTime;
-        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.Label labelDash;
         private System.Windows.Forms.TextBox textBoxEndTime;
-        private System.Windows.Forms.Label label6;
+        private System.Windows.Forms.Label labelDate;
         private System.Windows.Forms.DateTimePicker dateTimePickerStartDate;
-        private System.Windows.Forms.Label label7;
+        private System.Windows.Forms.Label labelTags;
         private System.Windows.Forms.StatusStrip statusStripLastUpdate;
         private System.Windows.Forms.Panel buttonsPanel;
         private System.Windows.Forms.Button buttonDelete;


Fixed add client button (win)

Fixed add client button (win)

--- src/ui/windows/TogglDesktop/TogglDesktop/TimeEntryEditViewController.Designer.cs
+++ src/ui/windows/TogglDesktop/TogglDesktop/TimeEntryEditViewController.Designer.cs
@@ -572,12 +572,12 @@
             //
             // addClientButton
             //
-            this.addClientButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.addClientButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.addClientButton.BackColor = System.Drawing.Color.Transparent;
             this.addClientButton.FlatAppearance.BorderColor = System.Drawing.Color.Silver;
             this.addClientButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.addClientButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
-            this.addClientButton.Location = new System.Drawing.Point(262, 88);
+            this.addClientButton.Location = new System.Drawing.Point(262, 100);
             this.addClientButton.Name = "addClientButton";
             this.addClientButton.Size = new System.Drawing.Size(35, 24);
             this.addClientButton.TabIndex = 20;


Development Exception included

Development Exception included

--- src/DatenMeister.WebServer/Startup.cs
+++ src/DatenMeister.WebServer/Startup.cs
@@ -42,14 +42,14 @@
         {
             app.UseDeveloperExceptionPage();

-            if (env.IsDevelopment())
+           /* if (env.IsDevelopment())
             {
             }
             else
             {
                 app.UseExceptionHandler("/Error");
                 app.UseHsts();
-            }
+            }*/

             app.UseHttpsRedirection();
             app.UseStaticFiles();


Added another ChannelPermissions.All overload

--- src/Discord.Net/Models/Permissions.cs
+++ src/Discord.Net/Models/Permissions.cs
@@ -58,11 +58,12 @@
 		public static readonly ChannelPermissions TextOnly = Preset<ChannelPermissions>("00000000000000111111110000011001");
 		public static readonly ChannelPermissions PrivateOnly = Preset<ChannelPermissions>("00000000000000011100110000000000");
 		public static readonly ChannelPermissions VoiceOnly = Preset<ChannelPermissions>("00000011111100000000000000011001");
-		public static ChannelPermissions All(Channel channel)
+		public static ChannelPermissions All(Channel channel) => All(channel.Type, channel.IsPrivate);
+        public static ChannelPermissions All(string channelType, bool isPrivate)
 		{
-			if (channel.IsPrivate) return PrivateOnly;
-			else if (channel.Type == ChannelTypes.Text) return TextOnly;
-			else if (channel.Type == ChannelTypes.Voice) return VoiceOnly;
+			if (isPrivate) return PrivateOnly;
+			else if (channelType == ChannelTypes.Text) return TextOnly;
+			else if (channelType == ChannelTypes.Voice) return VoiceOnly;
 			else return None;
 		}


Add user agent contains only from enum

Add user agent contains only from enum

--- src/Extensions/UserAgentExtensions.cs
+++ src/Extensions/UserAgentExtensions.cs
@@ -30,7 +30,7 @@
             => array.Any(agent.Contains)
                && !agent.IsNullOrEmpty();

-        public static bool Contains<T>(this UserAgent agent, T t)
+        public static bool Contains<T>(this UserAgent agent, T t) where T : Enum
             => agent.Contains(t.ToString().ToLower());

         public static bool Contains<T>(this UserAgent agent, Type type) where T : Enum


fix NetPacketReader recycle. fix #219

fix NetPacketReader recycle. fix #219

--- LiteNetLib/NetManager.cs
+++ LiteNetLib/NetManager.cs
@@ -362,6 +362,7 @@
         private void ProcessEvent(NetEvent evt)
         {
             NetUtils.DebugWrite("[NM] Processing event: " + evt.Type);
+            bool recycleEvent = evt.DataReader.IsNull;
             switch (evt.Type)
             {
                 case NetEvent.EType.Connect:
@@ -398,9 +399,8 @@
                     _netEventListener.OnConnectionRequest(evt.ConnectionRequest);
                     break;
             }
-
             //Recycle if not message
-            if (evt.DataReader.IsNull)
+            if (recycleEvent)
                 RecycleEvent(evt);
         }


adding test documentation to ConversationService.cs

--- src/IBM.WatsonDeveloperCloud.Conversation/v1/ConversationService.cs
+++ src/IBM.WatsonDeveloperCloud.Conversation/v1/ConversationService.cs
@@ -38,6 +38,11 @@
                 this.Endpoint = URL;
         }

+        /// <summary>
+        /// Creates an instance of Conversation.
+        /// </summary>
+        /// <param name="userName">The service username.</param>
+        /// <param name="password">The service password.</param>
         public ConversationService(string userName, string password)
             : this()
         {


Add basic IdentityMap and use for loading

--- src/Marten/IdentityMap.cs
+++ src/Marten/IdentityMap.cs
@@ -7,7 +7,7 @@
     {
         private readonly Dictionary<EntityKey, object> _map = new Dictionary<EntityKey, object>();

-        public bool Set<T>(T entity)
+        public void Set<T>(T entity)
         {
             var id = GetOrSetId(entity);
             var key = new EntityKey(typeof(T), id);
@@ -18,10 +18,10 @@
                 {
                     throw new InvalidOperationException($"Entity '{typeof(T).FullName}' with same Id already added to the session.");
                 }
+                return;
             }

             _map[key] = entity;
-            return true;
         }

         private static dynamic GetOrSetId<T>(T entity)


adjusted migration tool tests to support multiple types of components and added bounds control entry

--- Assets/MixedRealityToolkit.Tests/EditModeTests/Experimental/MigrationToolTests.cs
+++ Assets/MixedRealityToolkit.Tests/EditModeTests/Experimental/MigrationToolTests.cs
@@ -2,6 +2,7 @@
 // Licensed under the MIT License. See LICENSE in the project root for license information.

 using Microsoft.MixedReality.Toolkit.Experimental.UI;
+using Microsoft.MixedReality.Toolkit.Experimental.UI.BoundsControl;
 using Microsoft.MixedReality.Toolkit.Experimental.Utilities;
 using Microsoft.MixedReality.Toolkit.UI;
 using NUnit.Framework;
@@ -20,6 +21,29 @@
     {
         private readonly MigrationTool migrationTool = new MigrationTool();
         private readonly HashSet<string> assetsForDeletion = new HashSet<string>();
+
+        private struct MigrationTypes
+        {
+            public Type oldType;
+            public Type newType;
+            public Type handler;
+
+            public MigrationTypes(Type oldT, Type newT, Type mHandler)
+            {
+                oldType = oldT;
+                newType = newT;
+                handler = mHandler;
+            }
+        }
+
+        private List<MigrationTypes> migrationList = new List<MigrationTypes>();
+
+        [SetUp]
+        public void Setup()
+        {
+            migrationList.Add(new MigrationTypes(typeof(ManipulationHandler), typeof(ObjectManipulator), typeof(ObjectManipulatorMigrationHandler)));
+            migrationList.Add(new MigrationTypes(typeof(BoundingBox), typeof(BoundsControl), typeof(BoundsControlMigrationHandler)));
+        }

         /// <summary>
         /// Deletes all assets created during tests
@@ -43,19 +67,22 @@
         [Test]
         public void GameObjectCanBeMigrated()
         {
-            Type oldType = typeof(ManipulationHandler);
-            Type newType = typeof(ObjectManipulator);
-            Type migrationHandlerType = typeof(ObjectManipulatorMigrationHandler);
+            foreach (var entry in migrationList)
+            {
+                Type oldType = entry.oldType;
+                Type newType = entry.newType;
+                Type migrationHandlerType = entry.handler;

-            GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);
+                GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);

-            migrationTool.TryAddObjectForMigration(gameObject);
-            migrationTool.MigrateSelection(migrationHandlerType, false);
+                migrationTool.TryAddObjectForMigration(gameObject);
+                migrationTool.MigrateSelection(migrationHandlerType, false);

-            Assert.IsNull(gameObject.GetComponent(oldType), $"Migrated Component of type {oldType.Name} could not be removed");
-            Assert.IsNotNull(gameObject.GetComponent(newType), $"Migrated Component of type {newType.Name} could not be added");
+                Assert.IsNull(gameObject.GetComponent(oldType), $"Migrated Component of type {oldType.Name} could not be removed");
+                Assert.IsNotNull(gameObject.GetComponent(newType), $"Migrated Component of type {newType.Name} could not be added");

-            GameObject.DestroyImmediate(gameObject);
+                Object.DestroyImmediate(gameObject);
+            }
         }

         /// <summary>
@@ -64,24 +91,27 @@
         [Test]
         public void PrefabCanBeMigrated()
         {
-            Type oldType = typeof(ManipulationHandler);
-            Type newType = typeof(ObjectManipulator);
-            Type migrationHandlerType = typeof(ObjectManipulatorMigrationHandler);
-            String prefabPath = "Assets/_migration.prefab";
+            foreach (var entry in migrationList)
+            {
+                Type oldType = entry.oldType;
+                Type newType = entry.newType;
+                Type migrationHandlerType = entry.handler;
+                string prefabPath = "Assets/_migration.prefab";

-            GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);
-            PrefabUtility.SaveAsPrefabAsset(gameObject, prefabPath);
-            assetsForDeletion.Add(prefabPath);
+                GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);
+                PrefabUtility.SaveAsPrefabAsset(gameObject, prefabPath);
+                assetsForDeletion.Add(prefabPath);

-            migrationTool.TryAddObjectForMigration(AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject)));
-            migrationTool.MigrateSelection(migrationHandlerType, false);
+                migrationTool.TryAddObjectForMigration(AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject)));
+                migrationTool.MigrateSelection(migrationHandlerType, false);

-            GameObject prefabGameObject = PrefabUtility.LoadPrefabContents(prefabPath);
+                GameObject prefabGameObject = PrefabUtility.LoadPrefabContents(prefabPath);

-            Assert.IsNull(prefabGameObject.GetComponent(oldType), $"Migrated Component of type {oldType.Name} could not be removed");
-            Assert.IsNotNull(prefabGameObject.GetComponent(newType), $"Migrated Component of type {newType.Name} could not be added");
+                Assert.IsNull(prefabGameObject.GetComponent(oldType), $"Migrated Component of type {oldType.Name} could not be removed");
+                Assert.IsNotNull(prefabGameObject.GetComponent(newType), $"Migrated Component of type {newType.Name} could not be added");

-            GameObject.DestroyImmediate(gameObject);
+                Object.DestroyImmediate(gameObject);
+            }
         }

         /// <summary>
@@ -90,28 +120,31 @@
         [Test]
         public void SceneCanBeMigrated()
         {
-            Type oldType = typeof(ManipulationHandler);
-            Type newType = typeof(ObjectManipulator);
-            Type migrationHandlerType = typeof(ObjectManipulatorMigrationHandler);
-            String scenePath = "Assets/_migration.unity";
+            foreach (var entry in migrationList)
+            {
+                Type oldType = entry.oldType;
+                Type newType = entry.newType;
+                Type migrationHandlerType = entry.handler;
+                string scenePath = "Assets/_migration.unity";

-            Scene scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
-            GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);
-            EditorSceneManager.SaveScene(scene, scenePath);
-            assetsForDeletion.Add(scenePath);
+                Scene scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
+                GameObject gameObject = SetUpGameObjectWithComponentOfType(oldType);
+                EditorSceneManager.SaveScene(scene, scenePath);
+                assetsForDeletion.Add(scenePath);

-            migrationTool.TryAddObjectForMigration(AssetDatabase.LoadAssetAtPath(scenePath, typeof(SceneAsset)));
-            migrationTool.MigrateSelection(migrationHandlerType, false);
+                migrationTool.TryAddObjectForMigration(AssetDatabase.LoadAssetAtPath(scenePath, typeof(SceneAsset)));
+                migrationTool.MigrateSelection(migrationHandlerType, false);

-            var openScene = EditorSceneManager.OpenScene(scenePath);
-            foreach (var sceneGameObject in openScene.GetRootGameObjects())
-            {
-                Assert.IsNull(sceneGameObject.GetComponent(oldType), $"Migrated component of type {oldType.Name} could not be removed");
-                Assert.IsNotNull(sceneGameObject.GetComponent(newType), $"Migrated component of type {newType.Name} could not be added");
+                var openScene = EditorSceneManager.OpenScene(scenePath);
+                foreach (var sceneGameObject in openScene.GetRootGameObjects())
+                {
+                    Assert.IsNull(sceneGameObject.GetComponent(oldType), $"Migrated component of type {oldType.Name} could not be removed");
+                    Assert.IsNotNull(sceneGameObject.GetComponent(newType), $"Migrated component of type {newType.Name} could not be added");

-                GameObject.DestroyImmediate(sceneGameObject);
+                    Object.DestroyImmediate(sceneGameObject);
+                }
+                Object.DestroyImmediate(gameObject);
             }
-            GameObject.DestroyImmediate(gameObject);
         }

         private static GameObject SetUpGameObjectWithComponentOfType(Type type)


Update FocusProviderInspector.cs

Update FocusProviderInspector.cs

--- Assets/MixedRealityToolkit/Inspectors/ServiceInspectors/FocusProviderInspector.cs
+++ Assets/MixedRealityToolkit/Inspectors/ServiceInspectors/FocusProviderInspector.cs
@@ -25,7 +25,7 @@
                 return;
             }

-            int numPointersFound = 0;
+            bool pointerFound = false;
             foreach (IMixedRealityPointer pointer in focusProvider.GetPointers<IMixedRealityPointer>())
             {
                 GUI.color = pointer.IsInteractionEnabled ? enabledColor : disabledColor;
@@ -47,10 +47,10 @@

                 EditorGUILayout.EndVertical();

-                numPointersFound++;
+                pointerFound = true;
             }

-            if (numPointersFound == 0)
+            if (!pointerFound)
             {
                 EditorGUILayout.LabelField("(None found)", EditorStyles.miniLabel);
             }


add a note for debug console option

add a note for debug console option

--- CompatBot/Utils/ResultFormatters/LogParserResultFormatter.WeirdSettingsSection.cs
+++ CompatBot/Utils/ResultFormatters/LogParserResultFormatter.WeirdSettingsSection.cs
@@ -313,6 +313,8 @@
             if (items["game_category"] == "1P")
                 CheckPs1ClassicsSettings(items, notes, generalNotes);

+            if (items["game_title"] != "vsh.self" && items["debug_console_mode"] == EnabledMark)
+                notes.Add("⚠ `Debug Console Mode` is enabled, and may cause game crashes");
             if (items["hook_static_functions"] is string hookStaticFunctions && hookStaticFunctions == EnabledMark)
                 notes.Add("⚠ `Hook Static Functions` is enabled, please disable");
             if (items["host_root"] is string hostRoot && hostRoot == EnabledMark)


Fix some broken crefs

Fix some broken crefs

--- Mappy/Models/MapModel.cs
+++ Mappy/Models/MapModel.cs
@@ -155,12 +155,12 @@
         }

         /// <summary>
-        /// <see cref="IMapModel.FeatureGridWidth"/>
+        /// <see cref="IReadOnlyMapModel.FeatureGridWidth"/>
         /// </summary>
         public int FeatureGridWidth => this.Tile.HeightGrid.Width;

         /// <summary>
-        /// <see cref="IMapModel.FeatureGridHeight"/>
+        /// <see cref="IReadOnlyMapModel.FeatureGridHeight"/>
         /// </summary>
         public int FeatureGridHeight => this.Tile.HeightGrid.Height;


change readonlycollection to interface version

--- MathParser/MathParser.cs
+++ MathParser/MathParser.cs
@@ -13,7 +13,6 @@
 using System.Linq;
 using System.Globalization;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;

 namespace Mathos.Parser
 {
@@ -178,7 +177,7 @@
         /// </summary>
         /// <param name="mathExpression">The math expression to parse.</param>
         /// <returns>The result of executing <paramref name="mathExpression"/>.</returns>
-        public double Parse(ReadOnlyCollection<string> mathExpression)
+        public double Parse(IReadOnlyCollection<string> mathExpression)
         {
             return MathParserLogic(new List<string>(mathExpression));
         }
@@ -276,9 +275,9 @@
         /// </summary>
         /// <param name="mathExpression">The math expression to tokenize.</param>
         /// <returns>The resulting tokens of <paramref name="mathExpression"/>.</returns>
-        public ReadOnlyCollection<string> GetTokens(string mathExpression)
-        {
-            return Lexer(mathExpression).AsReadOnly();
+        public IReadOnlyCollection<string> GetTokens(string mathExpression)
+        {
+            return Lexer(mathExpression);
         }

         #region Core


Cleanup

Cleanup

--- MensaBS/MainPage.xaml.cs
+++ MensaBS/MainPage.xaml.cs
@@ -8,7 +8,6 @@
 using Microsoft.Phone.Controls;
 using Microsoft.Phone.Shell;
 using MensaBS.Resources;
-using Microsoft.Xna.Framework.GamerServices;
 using System.Xml.Serialization;
 using System.Xml.Linq;
 using System.Windows.Media;
@@ -293,30 +292,5 @@
             NavigationService.Navigate(new Uri("/ZusatzPage.xaml", UriKind.Relative));
         }

-
-
-
-
-
-
-
-
-
-
-        // Sample code for building a localized ApplicationBar
-        //private void BuildLocalizedApplicationBar()
-        //{
-        //    // Set the page's ApplicationBar to a new instance of ApplicationBar.
-        //    ApplicationBar = new ApplicationBar();
-
-        //    // Create a new button and set the text value to the localized string from AppResources.
-        //    ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/appbar.add.rest.png", UriKind.Relative));
-        //    appBarButton.Text = AppResources.AppBarButtonText;
-        //    ApplicationBar.Buttons.Add(appBarButton);
-
-        //    // Create a new menu item with the localized string from AppResources.
-        //    ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(AppResources.AppBarMenuItemText);
-        //    ApplicationBar.MenuItems.Add(appBarMenuItem);
-        //}
     }
 }


Fix malformed authorization header. (#328)

--- Minio/V4Authenticator.cs
+++ Minio/V4Authenticator.cs
@@ -156,7 +156,7 @@
         private string GetAuthorizationHeader(string signedHeaders, string signature, DateTime signingDate, string region)
         {
             var scope = this.GetScope(region, signingDate);
-            return $"AWS4-HMAC-SHA256 Credential={this.accessKey}/{scope}/, SignedHeaders={signedHeaders} Signature={signature}";
+            return $"AWS4-HMAC-SHA256 Credential={this.accessKey}/{scope}, SignedHeaders={signedHeaders}, Signature={signature}";
         }

         /// <summary>


Update Characteristic.cs

Update Characteristic.cs

typo in K2080

--- Models/Characteristic.cs
+++ Models/Characteristic.cs
@@ -187,8 +187,8 @@
 		[Display(Name = "K2076", Description = "Calibration Date")]
 		public DateTime CalibrationDate1 { get; set; }

-		[Display(Name = "K2080", Description = "Characteristic Satus(activated, deactivated)")]
-		public int CharacteristicSatus { get; set; }
+		[Display(Name = "K2080", Description = "Characteristic Status(activated, deactivated)")]
+		public int CharacteristicStatus { get; set; }

 		[Display(Name = "K2091", Description = "Characteristic Index")]
 		public string CharacteristicIndex { get; set; }


bug fix: flags enum missing bit values

bug fix: flags enum missing bit values

--- OBeautifulCode.Serialization.Recipes/RoundtripSerialization/AppDomainScenarios.cs
+++ OBeautifulCode.Serialization.Recipes/RoundtripSerialization/AppDomainScenarios.cs
@@ -35,12 +35,12 @@
         /// Serialize and de-serialize in the current App Domain.
         /// </summary>
         [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "InCurrent", Justification = ObcSuppressBecause.CA1702_CompoundWordsShouldBeCasedCorrectly_AnalyzerIsIncorrectlyDetectingCompoundWords)]
-        RoundtripInCurrentAppDomain,
+        RoundtripInCurrentAppDomain = 1,

         /// <summary>
         /// Serialize and de-serialize in a new App Domain.
         /// </summary>
-        RoundtripInNewAppDomain,
+        RoundtripInNewAppDomain = 2,

         /// <summary>
         /// Serialize in the current App Domain and de-serialize in a new App Domain.
@@ -51,7 +51,7 @@
         /// performs that de-serialization is dependent on.
         /// </remarks>
         [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "InCurrent", Justification = ObcSuppressBecause.CA1702_CompoundWordsShouldBeCasedCorrectly_AnalyzerIsIncorrectlyDetectingCompoundWords)]
-        SerializeInCurrentAppDomainAndDeserializeInNewAppDomain,
+        SerializeInCurrentAppDomainAndDeserializeInNewAppDomain = 4,

         /// <summary>
         /// Serialize in a new App Domain and de-serialize in a new, but different App Domain.
@@ -61,6 +61,6 @@
         /// needing to be serialized - that there's no config or caching that serialization
         /// performs that de-serialization is dependent on.
         /// </remarks>
-        SerializeInNewAppDomainAndDeserializeInNewAppDomain,
+        SerializeInNewAppDomainAndDeserializeInNewAppDomain = 8,
     }
 }


modify sample

modify sample

--- Senparc.Weixin.MP.Sample/Senparc.Weixin.MP.Sample/Controllers/WeixinController.cs
+++ Senparc.Weixin.MP.Sample/Senparc.Weixin.MP.Sample/Controllers/WeixinController.cs
@@ -25,8 +25,6 @@
     using Senparc.Weixin.MP.Entities;
     using Senparc.Weixin.MP.Helpers;
     using Senparc.Weixin.MP.MvcExtension;
-    //using Senparc.Weixin.MP.Sample.Service;
-    //using Senparc.Weixin.MP.Sample.CustomerMessageHandler;
     using Senparc.Weixin.MP.Sample.CommonService;
     using Senparc.Weixin.MP.Sample.CommonService.CustomMessageHandler;

@@ -36,7 +34,7 @@
         public static readonly string EncodingAESKey = WebConfigurationManager.AppSettings["WeixinEncodingAESKey"];//与微信公众账号后台的EncodingAESKey设置保持一致，区分大小写。
         public static readonly string AppId = WebConfigurationManager.AppSettings["WeixinAppId"];//与微信公众账号后台的AppId设置保持一致，区分大小写。

-        readonly Func<string> _getRandomFileName = () => DateTime.Now.Ticks + Guid.NewGuid().ToString("n").Substring(0, 6);
+        readonly Func<string> _getRandomFileName = () => DateTime.Now.ToString("yyyyMMdd-HH:mm:ss") + Guid.NewGuid().ToString("n").Substring(0, 6);

         public WeixinController()
         {


Add documentation for AddEpisodes method in TraktSyncHistoryRemovePostBuilder

--- Source/Lib/TraktApiSharp/Objects/Post/Syncs/History/TraktSyncHistoryRemovePost.cs
+++ Source/Lib/TraktApiSharp/Objects/Post/Syncs/History/TraktSyncHistoryRemovePost.cs
@@ -242,6 +242,15 @@
             return AddEpisodeOrIgnore(episode);
         }

+        /// <summary>Adds a collection of <see cref="TraktEpisode" />s, which will be added to the history remove post.</summary>
+        /// <param name="episodes">A collection of Trakt episodes, which will be added.</param>
+        /// <returns>The current <see cref="TraktSyncHistoryRemovePostBuilder" /> instance.</returns>
+        /// <exception cref="ArgumentNullException">
+        /// Thrown, if the given episodes collection is null.
+        /// Thrown, if one of the given episodes is null.
+        /// Thrown, if one of the given episodes' ids are null.
+        /// </exception>
+        /// <exception cref="ArgumentException">Thrown, if one of the given episodes has no valid ids set.</exception>
         public TraktSyncHistoryRemovePostBuilder AddEpisodes(IEnumerable<TraktEpisode> episodes)
         {
             if (episodes == null)


Removing unused field.

Removing unused field.

--- Source/Qi4CS.Core.Runtime/Model/CodeGeneration/CompositeModelTypeCodeGenerator.cs
+++ Source/Qi4CS.Core.Runtime/Model/CodeGeneration/CompositeModelTypeCodeGenerator.cs
@@ -110,7 +110,6 @@
       private readonly IDictionary<CompositeModel, IDictionary<Int32, TypeGenerationInfo>> _allGenerationInfos;
       private readonly IDictionary<CompositeTypeModel, IDictionary<CILType, TypeBindingInformation>> _emulatedFragmentTypeInfos;
       private readonly IDictionary<CompositeMethodModel, CompositeMethodGenerationInfo> _compositeMethodGenerationInfos;
-      private readonly IDictionary<CompositeTypeGenerationInfo, CompositeConstructorGenerationInfo> _compositeCtors;
       private readonly CILReflectionContext _ctx;

       public CompositeEmittingInfo( CILReflectionContext ctx )
@@ -126,7 +125,6 @@
          this._allGenerationInfos = new Dictionary<CompositeModel, IDictionary<Int32, TypeGenerationInfo>>();
          this._emulatedFragmentTypeInfos = new Dictionary<CompositeTypeModel, IDictionary<CILType, TypeBindingInformation>>();
          this._compositeMethodGenerationInfos = new Dictionary<CompositeMethodModel, CompositeMethodGenerationInfo>();
-         this._compositeCtors = new Dictionary<CompositeTypeGenerationInfo, CompositeConstructorGenerationInfo>();
       }

       public void RegisterGenerationInfo( CompositeModel compositeModel, TypeGenerationInfo genInfo, Int32 typeID )
@@ -207,14 +205,6 @@
          get
          {
             return this._fragmentCreationMethods;
-         }
-      }
-
-      public IDictionary<CompositeTypeGenerationInfo, CompositeConstructorGenerationInfo> CompositeConstructors
-      {
-         get
-         {
-            return this._compositeCtors;
          }
       }


Add a TODO.

Add a TODO.

--- TTMouseclickSimulator/Core/ToontownRewritten/Actions/Fishing/FishingSpotFlavor.cs
+++ TTMouseclickSimulator/Core/ToontownRewritten/Actions/Fishing/FishingSpotFlavor.cs
@@ -25,6 +25,7 @@
         }

+        // TODO: The Color value needs some adjustment!
         public static readonly FishingSpotFlavor PunchlinePlace =
             new FishingSpotFlavor(new Coordinates(260, 196), new Coordinates(1349, 626),
                 new ScreenshotColor(20, 140, 144), 16);


Bump version to 1.0.2

Bump version to 1.0.2

--- src/SharedAssemblyInfo.cs
+++ src/SharedAssemblyInfo.cs
@@ -6,5 +6,5 @@
 [assembly: AssemblyCopyright("Copyright © Damian Hickey 2013")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("1.0.1.0")]
-[assembly: AssemblyFileVersion("1.0.1.0")]
+[assembly: AssemblyVersion("1.0.2.0")]
+[assembly: AssemblyFileVersion("1.0.2.0")]


update for C# convensions and C#6

update for C# convensions and C#6

--- src/Slugify/SlugHelper.cs
+++ src/Slugify/SlugHelper.cs
@@ -1,11 +1,8 @@
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Globalization;
-using System.Linq;
 using System.Text;
 using System.Text.RegularExpressions;
-using System.Threading.Tasks;

 namespace Slugify
 {
@@ -25,10 +22,10 @@
             if (config != null)
                 _config = config;
             else
-                throw new ArgumentNullException("config", "can't be null use default config or empty construct.");
+                throw new ArgumentNullException(nameof(config), "can't be null use default config or empty construct.");
         }

-        public String GenerateSlug(String str)
+        public string GenerateSlug(String str)
         {
             if (_config.ForceLowerCase)
                 str = str.ToLower();
@@ -41,13 +38,13 @@
             return str;
         }

-        protected String CleanWhiteSpace(String str, Boolean collapse)
+        protected string CleanWhiteSpace(String str, Boolean collapse)
         {
             return Regex.Replace(str, collapse ? @"\s+" : @"\s", " ");
         }

         // Thanks http://stackoverflow.com/a/249126!
-        protected String RemoveDiacritics(String str)
+        protected string RemoveDiacritics(String str)
         {
             string stFormD = str.Normalize(NormalizationForm.FormD);
             StringBuilder sb = new StringBuilder();
@@ -64,7 +61,7 @@
             return (sb.ToString().Normalize(NormalizationForm.FormC));
         }

-        protected String ApplyReplacements(String str, Dictionary<string, string> replacements)
+        protected string ApplyReplacements(string str, Dictionary<string, string> replacements)
         {
             StringBuilder sb = new StringBuilder(str);

@@ -74,7 +71,7 @@
             return sb.ToString();
         }

-        protected String DeleteCharacters(String str, String regex)
+        protected string DeleteCharacters(String str, String regex)
         {
             return Regex.Replace(str, regex, "");
         }
@@ -82,9 +79,9 @@
         public class Config
         {
             public Dictionary<String, String> CharacterReplacements { get; set; }
-            public Boolean ForceLowerCase { get; set; }
-            public Boolean CollapseWhiteSpace { get; set; }
-            public String DeniedCharactersRegex { get; set; }
+            public bool ForceLowerCase { get; set; }
+            public bool CollapseWhiteSpace { get; set; }
+            public string DeniedCharactersRegex { get; set; }

             public Config()
             {


`mock.Invocations.Clear` should reset setup invocation state

--- tests/Moq.Tests/InvocationsFixture.cs
+++ tests/Moq.Tests/InvocationsFixture.cs
@@ -128,5 +128,32 @@
 			var invocation = mock.MutableInvocations.ToArray()[0];
 			Assert.Equal(42, invocation.ReturnValue);
 		}
+
+		[Fact]
+		public void Invocations_Clear_also_resets_setup_verification_state()
+		{
+			var mock = new Mock<IComparable>();
+			mock.Setup(m => m.CompareTo(default));
+			_ = mock.Object.CompareTo(default);
+			mock.VerifyAll();  // ensure setup has been matched
+
+			mock.Invocations.Clear();
+			var ex = Assert.Throws<MockException>(() => mock.VerifyAll());
+			Assert.Equal(MockExceptionReasons.UnmatchedSetup, ex.Reasons);
+		}
+
+		[Fact]
+		[Obsolete()]
+		public void Invocations_Clear_resets_count_kept_by_setup_AtMost()
+		{
+			var mock = new Mock<IComparable>();
+			mock.Setup(m => m.CompareTo(default)).Returns(0).AtMostOnce();
+			_ = mock.Object.CompareTo(default);
+
+			mock.Invocations.Clear();
+			_ = mock.Object.CompareTo(default);  // this second call should now count as the first
+			var ex = Assert.Throws<MockException>(() => mock.Object.CompareTo(default));
+			Assert.Equal(MockExceptionReasons.MoreThanOneCall, ex.Reasons);
+		}
 	}
 }


Add Lexer tests (#179)

Add Lexer tests (#179)

--- src/GraphQLParser.Tests/LexerTests.cs
+++ src/GraphQLParser.Tests/LexerTests.cs
@@ -319,6 +319,40 @@
     {
         var token = GetSingleNameTokenLexerWithComments();
         token.Kind.ShouldBe(TokenKind.COMMENT);
+    }
+
+    [Fact]
+    public void Lex_NameTokenWithEscapedComment()
+    {
+        var token = $"#abc\\tdef\nfoo".Lex();
+        token.Kind.ShouldBe(TokenKind.COMMENT);
+        token.Value.Length.ShouldBe(7);
+    }
+
+    [Fact]
+    public void Lex_NameTokenWithVeryLongComment()
+    {
+        string comment = new string('w', 4096 + 10); // causes IndexOutOfRangeException in LexerContext.ReadComment
+        var token = $"#{comment}\nfoo".Lex();
+        token.Kind.ShouldBe(TokenKind.COMMENT);
+        token.Value.Length.ShouldBe(4096 + 10);
+    }
+
+    [Fact]
+    public void Lex_EscapedStringToken()
+    {
+        var token = $"\"abc\\tdef\"".Lex();
+        token.Kind.ShouldBe(TokenKind.STRING);
+        token.Value.Length.ShouldBe(7);
+    }
+
+    [Fact]
+    public void Lex_VeryLongStringToken()
+    {
+        string text = new('w', 4096 + 10); // causes IndexOutOfRangeException in LexerContext.ReadString
+        var token = $"\"{text}\"".Lex();
+        token.Kind.ShouldBe(TokenKind.STRING);
+        token.Value.Length.ShouldBe(4096 + 10);
     }

     [Fact]


Introduced GTK platform options with environment based configuration

--- src/Gtk/Avalonia.Gtk3/Gtk3Platform.cs
+++ src/Gtk/Avalonia.Gtk3/Gtk3Platform.cs
@@ -24,8 +24,33 @@
         internal static string DisplayClassName;
         public static bool UseDeferredRendering = true;
         private static bool s_gtkInitialized;
-        public static void Initialize()
+
+        static bool EnvOption(string option, bool def, bool? specified)
         {
+            bool? Parse(string env)
+            {
+                var v = Environment.GetEnvironmentVariable("AVALONIA_GTK3_" + env);
+                if (v == null)
+                    return null;
+                if (v.ToLowerInvariant() == "false" || v == "0")
+                    return false;
+                return true;
+            }
+
+            var overridden = Parse(option + "_OVERRIDE");
+            if (overridden.HasValue)
+                return overridden.Value;
+            if (specified.HasValue)
+                return specified.Value;
+            var envValue = Parse(option);
+            return envValue ?? def;
+        }
+
+        public static void Initialize(Gtk3PlatformOptions options)
+        {
+            Resolver.Custom = options.CustomResolver;
+            UseDeferredRendering = EnvOption("USE_DEFERRED_RENDERING", true, options.UseDeferredRendering);
+            var useGpu = EnvOption("USE_GPU", false, options.UseGpuAcceleration);
             if (!s_gtkInitialized)
             {
                 try
@@ -57,7 +82,8 @@
                 .Bind<IRenderLoop>().ToConstant(new RenderLoop())
                 .Bind<IRenderTimer>().ToConstant(new DefaultRenderTimer(60))
                 .Bind<IPlatformIconLoader>().ToConstant(new PlatformIconLoader());
-            EglGlPlatformFeature.TryInitialize();
+            if (useGpu)
+                EglGlPlatformFeature.TryInitialize();
         }

         public IWindowImpl CreateWindow() => new WindowImpl();
@@ -118,18 +144,24 @@

         public bool CurrentThreadIsLoopThread => s_tlsMarker;
     }
+
+    public class Gtk3PlatformOptions
+    {
+        public bool? UseDeferredRendering { get; set; }
+        public bool? UseGpuAcceleration { get; set; }
+        public ICustomGtk3NativeLibraryResolver CustomResolver { get; set; }
+    }
 }

 namespace Avalonia
 {
     public static class Gtk3AppBuilderExtensions
     {
-        public static T UseGtk3<T>(this AppBuilderBase<T> builder, bool deferredRendering = true, ICustomGtk3NativeLibraryResolver resolver = null)
+        public static T UseGtk3<T>(this AppBuilderBase<T> builder, Gtk3PlatformOptions options = null)
             where T : AppBuilderBase<T>, new()
         {
-            Resolver.Custom = resolver;
-            Gtk3Platform.UseDeferredRendering = deferredRendering;
-            return builder.UseWindowingSubsystem(Gtk3Platform.Initialize, "GTK3");
+            return builder.UseWindowingSubsystem(() => Gtk3Platform.Initialize(options ?? new Gtk3PlatformOptions()),
+                "GTK3");
         }
     }
 }


- reducing redundant code

- reducing redundant code

--- src/JsonFx.Json/Json/JsonTokenizer.cs
+++ src/JsonFx.Json/Json/JsonTokenizer.cs
@@ -715,29 +715,34 @@

 			#region ITokenizer<JsonTokenType> Members

+			/// <summary>
+			/// Gets a token sequence from the TextReader
+			/// </summary>
+			/// <param name="reader"></param>
+			/// <returns></returns>
 			public IEnumerable<Token<JsonTokenType>> GetTokens(TextReader reader)
 			{
-				this.scanner = new TextReaderScanner(reader);
-
-				// initialize
-				this.scanner.MoveNext();
-
-				while (true)
-				{
-					Token<JsonTokenType> token = this.NextToken();
-					if (token.TokenType == JsonTokenType.None)
-					{
-						this.scanner.Dispose();
-						this.scanner = TextReaderScanner.Null;
-						yield break;
-					}
-					yield return token;
-				};
-			}
-
+				return this.GetTokens(new TextReaderScanner(reader));
+			}
+
+			/// <summary>
+			/// Gets a token sequence from the string
+			/// </summary>
+			/// <param name="text"></param>
+			/// <returns></returns>
 			public IEnumerable<Token<JsonTokenType>> GetTokens(string text)
 			{
-				this.scanner = new StringScanner(text);
+				return this.GetTokens(new StringScanner(text));
+			}
+
+			/// <summary>
+			/// Gets a token sequence from the scanner
+			/// </summary>
+			/// <param name="scanner"></param>
+			/// <returns></returns>
+			protected IEnumerable<Token<JsonTokenType>> GetTokens(ITextScanner scanner)
+			{
+				this.scanner = scanner;

 				// initialize
 				this.scanner.MoveNext();


Lucene.Net.Support.Collections: Reduced memory allocations of CaseInsensitiveComparer in ReverseOrder<T>() method

--- src/Lucene.Net/Support/Collections.cs
+++ src/Lucene.Net/Support/Collections.cs
@@ -248,7 +248,7 @@

             public int Compare(T x, T y)
             {
-                return (new CaseInsensitiveComparer()).Compare(y, x);
+                return CaseInsensitiveComparer.Default.Compare(y, x);
             }
         }


Added matrix type function tests #12

Added matrix type function tests #12

--- src/Mages.Core.Tests/FunctionTests.cs
+++ src/Mages.Core.Tests/FunctionTests.cs
@@ -172,6 +172,55 @@
             Assert.IsNull(result);
         }

+        [Test]
+        public void CallMatrixWithSingleIntegerArgumentYieldsValue()
+        {
+            var result = Eval("[1,2,3;4,5,6](4)");
+            Assert.AreEqual(5.0, result);
+        }
+
+        [Test]
+        public void CallMatrixWithTwoIntegerArgumentsYieldsValue()
+        {
+            var result = Eval("[1,2,3;4,5,6](1,1)");
+            Assert.AreEqual(5.0, result);
+        }
+
+        [Test]
+        public void CallMatrixWithSingleOutOfBoundsArgumentYieldsNothing()
+        {
+            var result = Eval("[1,2,3;4,5,6](9)");
+            Assert.IsNull(result);
+        }
+
+        [Test]
+        public void CallMatrixWithSecondOutOfBoundsArgumentYieldsNothing()
+        {
+            var result = Eval("[1,2,3;4,5,6](1,3)");
+            Assert.IsNull(result);
+        }
+
+        [Test]
+        public void CallMatrixWithFirstOutOfBoundsArgumentYieldsNothing()
+        {
+            var result = Eval("[1,2,3;4,5,6](3,1)");
+            Assert.IsNull(result);
+        }
+
+        [Test]
+        public void CallMatrixWithStringArgumentYieldsNothing()
+        {
+            var result = Eval("[1,2,3;4,5,6](\"0\")");
+            Assert.IsNull(result);
+        }
+
+        [Test]
+        public void CallMatrixWithBooleanArgumentYieldsNothing()
+        {
+            var result = Eval("[1,2,3;4,5,6](true)");
+            Assert.IsNull(result);
+        }
+
         private static Object Eval(String source)
         {
             var engine = new Engine();


Moved hashing to inner scope.

Moved hashing to inner scope.

--- src/Main/Hadouken/Rpc/CoreServices.cs
+++ src/Main/Hadouken/Rpc/CoreServices.cs
@@ -43,10 +43,10 @@
             if (String.IsNullOrEmpty(newPassword))
                 return false;

-            var oldPasswordHash = ComputeHash(oldPassword);
-
             // Only compare if we have an old password
             if(!String.IsNullOrEmpty(_configuration.Http.Authentication.Password)) {
+                var oldPasswordHash = ComputeHash(oldPassword);
+
                 // If the given old password is incrrect, return.
                 if (!String.Equals(_configuration.Http.Authentication.Password, oldPasswordHash, StringComparison.InvariantCultureIgnoreCase))
                 {


Correctly delete first line i RichTextBox

closes #324

--- src/NLog/Targets/RichTextBoxTarget.cs
+++ src/NLog/Targets/RichTextBoxTarget.cs
@@ -353,9 +353,9 @@
                 this.lineCount++;
                 if (this.lineCount > this.MaxLines)
                 {
-                    int pos = rtbx.GetFirstCharIndexFromLine(1);
-                    rtbx.Select(0, pos);
-                    rtbx.SelectedText = string.Empty;
+                    rtbx.SelectionStart = 0;
+                    rtbx.SelectionLength = rtbx.GetFirstCharIndexFromLine(1);
+                    rtbx.Text = rtbx.Text.Remove(rtbx.SelectionStart, rtbx.SelectionLength);
                     this.lineCount--;
                 }
             }


Version upgrade

Version upgrade

--- src/NRoles/Properties/AssemblyInfo.cs
+++ src/NRoles/Properties/AssemblyInfo.cs
@@ -36,7 +36,7 @@

 namespace NRoles {
   public static class _Metadata {
-    public const string Version = "0.1.1";
+    public const string Version = "0.1.2";
     public const string AssemblyVersion = Version + ".*";
     public const string Copyright = "Copyright © Rodrigo Jordão 2010-2011";
   }


Refactor TestConverter so there is one DiaSession per instance

--- src/NUnitTestAdapter/TestConverter.cs
+++ src/NUnitTestAdapter/TestConverter.cs
@@ -11,9 +11,10 @@
 {
     public class TestConverter : IDisposable
     {
-        private Dictionary<string, DiaSession> diaMap = new Dictionary<string, DiaSession>();
         private Dictionary<string, TestCase> testCaseMap;
         private string sourceAssembly;
+        private DiaSession diaSession;
+        private bool tryToCreateDiaSession = true;

         public TestConverter(string sourceAssembly)
         {
@@ -53,9 +54,28 @@
             testCase.CodeFilePath = null;
             testCase.LineNumber = 0;

-            var diaSession = GetDiaSession(this.sourceAssembly);
+            // NOTE: There is some sort of timing issue involved
+            // in creating the DiaSession. When it is created
+            // in the constructor, an exception is thrown on the
+            // call to GetNavigationData. We don't understand
+            // this, we're just dealing with it.
+            if (tryToCreateDiaSession)
+            {
+                try
+                {
+                    this.diaSession = new DiaSession(sourceAssembly);
+                }
+                catch (Exception)
+                {
+                    // If this isn't a project type supporting DiaSession,
+                    // we just ignore the error. We won't try this again
+                    // for the project.
+                }

-            if (diaSession != null)
+                tryToCreateDiaSession = false;
+            }
+
+            if (this.diaSession != null)
             {
                 DiaNavigationData navigationData = diaSession.GetNavigationData(testName.GetClassName(), testName.GetMethodName());

@@ -98,33 +118,10 @@
             return ourResult;
         }

-        private DiaSession GetDiaSession(string source)
-        {
-            DiaSession diaSession = null;
-
-            if (!diaMap.TryGetValue(source, out diaSession))
-            {
-                try
-                {
-                    diaSession = new DiaSession(source);
-                    diaMap.Add(source, diaSession);
-                }
-                catch (COMException)
-                {
-                    diaMap.Add(source, diaSession);
-                }
-            }
-
-            return diaSession;
-        }
-
         public void Dispose()
         {
-            foreach (DiaSession diaSession in diaMap.Values)
-            {
-                if (diaSession != null)
-                    diaSession.Dispose();
-            }
+            if (this.diaSession != null)
+                this.diaSession.Dispose();
         }
     }
 }


Comment Adjustment

Comment Adjustment

--- src/Numerics/Distributions/Weibull.cs
+++ src/Numerics/Distributions/Weibull.cs
@@ -421,12 +421,11 @@
         }

         /// <summary>
-        /// Returns a Weibull distribution.
         /// Implemented according to: Parameter estimation of the Weibull probability distribution, 1994, Hongzhu Qiao, Chris P. Tsokos
         /// </summary>
         /// <param name="samples"></param>
         /// <param name="randomSource"></param>
-        /// <returns></returns>
+        /// <returns>Returns a Weibull distribution.</returns>
         public static Weibull Estimate(IEnumerable<double> samples, System.Random randomSource = null)
         {
             var samp = samples as double[] ?? samples.ToArray();


Minor refactoring

Minor refactoring

--- src/OffByOne.Ql/Ast/SourceLocation.cs
+++ src/OffByOne.Ql/Ast/SourceLocation.cs
@@ -17,7 +17,15 @@

         public override string ToString()
         {
-            return $"({this.Line}|{this.Column}) : {this.Text.Replace("\r\n", string.Empty).Replace("\n", string.Empty).Replace("\r", string.Empty)}";
+            return $"({this.Line}|{this.Column}) : {RemoveEmptyLines(this.Text)}";
+        }
+
+        private static string RemoveEmptyLines(string input)
+        {
+            return input
+                .Replace("\r\n", string.Empty)
+                .Replace("\n", string.Empty)
+                .Replace("\r", string.Empty);
         }
     }
 }


Add ability to queue window transitions

Add ability to queue window transitions

--- src/OpenSage.Game/Gui/GuiCallbacks.cs
+++ src/OpenSage.Game/Gui/GuiCallbacks.cs
@@ -48,7 +48,8 @@
                 }
                 else if (_mousePosition.Value != context.MousePosition)
                 {
-                    context.TransitionManager.StartTransition(null, context.Window, "MainMenuFade", context.GameTime);
+                    context.TransitionManager.QueueTransition(null, context.Window, "MainMenuFade");
+                    context.TransitionManager.QueueTransition(null, context.Window, "MainMenuDefaultMenu");
                     _doneMainMenuFadeIn = true;
                 }
             }
@@ -59,40 +60,65 @@
     {
         private readonly Dictionary<string, WindowTransition> _transitions;

+        private readonly Queue<WindowTransitionRequest> _transitionQueue;
+
+        private sealed class WindowTransitionRequest
+        {
+            public GuiWindow From;
+            public GuiWindow To;
+            public WindowTransition Transition;
+        }
+
         private WindowTransitionState _currentTransitionState;

         public WindowTransitionManager(List<WindowTransition> transitions)
         {
             _transitions = transitions.ToDictionary(x => x.Name);
-        }
-
-        public void StartTransition(
+
+            _transitionQueue = new Queue<WindowTransitionRequest>();
+        }
+
+        public void QueueTransition(
             GuiWindow from,
             GuiWindow to,
-            string transitionName,
-            GameTime currentTime)
+            string transitionName)
         {
             if (!_transitions.TryGetValue(transitionName, out var transition))
             {
                 throw new ArgumentOutOfRangeException(nameof(transitionName));
             }

-            _currentTransitionState = new WindowTransitionState(
-                to,
-                transition,
-                currentTime.TotalGameTime);
+            _transitionQueue.Enqueue(new WindowTransitionRequest
+            {
+                From = from,
+                To = to,
+                Transition = transition
+            });
         }

         public void Update(GameTime currentTime)
         {
             var transitionTime = currentTime.TotalGameTime;

+            if (_currentTransitionState == null && _transitionQueue.Count > 0)
+            {
+                var nextTransition = _transitionQueue.Dequeue();
+
+                _currentTransitionState = new WindowTransitionState(
+                    nextTransition.To,
+                    nextTransition.Transition,
+                    transitionTime);
+            }
+
             if (_currentTransitionState != null)
             {
                 _currentTransitionState.Update(transitionTime);
-            }
-
-            //return currentTime.TotalGameTime > _currentTransitionState.LastEndTime;
+
+                if (currentTime.TotalGameTime > _currentTransitionState.LastEndTime)
+                {
+                    _currentTransitionState = null;
+                }
+            }
         }
     }


fixed typo in longPress Action

fixed typo in longPress Action

--- appium-dotnet-driver/Appium/MultiAction/TouchAction.cs
+++ appium-dotnet-driver/Appium/MultiAction/TouchAction.cs
@@ -121,7 +121,7 @@
         /// <returns>A self-reference to this <see cref="ITouchAction"/>.</returns>
         public ITouchAction LongPress(double x, double y)
         {
-            Step longPressStep = new Step("longpress");
+            Step longPressStep = new Step("longPress");
             longPressStep
                 .AddOpt("x", x)
                 .AddOpt("y", y);


Format

Format

--- src/Qwack.Models/Risk/BasicMetrics.cs
+++ src/Qwack.Models/Risk/BasicMetrics.cs
@@ -1497,7 +1497,7 @@
                     {
                         { TradeId, pvRowsFwd[i].MetaData[tidIx] },
                         { TradeType, pvRowsFwd[i].MetaData[tTypeIx] },
-                        { AssetId, string.Empty },
+                        { AssetId,  string.Empty },
                         { PointLabel, string.Empty },
                         { Metric, "Theta" }
                     };


Allow CsvAttribute to be applied on structs as well

--- src/ServiceStack.Text/CsvAttribute.cs
+++ src/ServiceStack.Text/CsvAttribute.cs
@@ -7,7 +7,7 @@
         FirstEnumerable
     }

-    [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
+    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false, AllowMultiple = false)]
     public class CsvAttribute : Attribute
     {
         public CsvBehavior CsvBehavior { get; set; }


Add exception doc

Add exception doc

--- src/Strinken/Filters/FilterHelpers.cs
+++ src/Strinken/Filters/FilterHelpers.cs
@@ -61,6 +61,7 @@
         /// Registers a filter that will be used as a base filter for all parser built after.
         /// </summary>
         /// <param name="filter">The filter to register.</param>
+        /// <exception cref="ArgumentException">The filter name is invalid or already present.</exception>
         public static void Register(IFilter filter)
         {
             if (filter is null)


add UpStreamEndPoint to sample

add UpStreamEndPoint to sample

--- examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs
+++ examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs
@@ -207,6 +207,12 @@
         {
             e.GetState().PipelineInfo.AppendLine(nameof(onRequest) + ":" + e.HttpClient.Request.RequestUri);

+            var clientLocalIp = e.ClientLocalEndPoint.Address;
+            if (!clientLocalIp.Equals(IPAddress.Loopback) && !clientLocalIp.Equals(IPAddress.IPv6Loopback))
+            {
+                e.HttpClient.UpStreamEndPoint = new IPEndPoint(clientLocalIp, 0);
+            }
+
             if (e.HttpClient.Request.Url.Contains("yahoo.com"))
             {
                 e.CustomUpStreamProxy = new ExternalProxy("localhost", 8888);


Parallelizing entire download

Parallelizing entire download

--- NXLDownloader/Program.cs
+++ NXLDownloader/Program.cs
@@ -33,19 +33,20 @@
             string output = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Output");
             if (!Directory.Exists(output)) Directory.CreateDirectory(output);

-            ConcurrentQueue<Tuple<int, byte[]>> chunks = new ConcurrentQueue<Tuple<int, byte[]>>();
             Dictionary<string, FileEntry> FileNames = manifest.RealFileNames;
-            foreach (KeyValuePair<string, FileEntry> file in FileNames)
+            KeyValuePair<string, FileEntry>[] directories = FileNames.Where(c => c.Value.ChunkHashes.First().Equals("__DIR__")).ToArray();
+
+            foreach (KeyValuePair<string, FileEntry> directory in directories)
             {
+                string subDirectory = Path.Combine(output, directory.Key);
+                if (File.Exists(subDirectory)) File.Delete(subDirectory);
+                if (!Directory.Exists(subDirectory)) Directory.CreateDirectory(subDirectory);
+            }
+
+            FileNames.AsParallel().Where(c => !directories.Contains(c)).ForEach(file =>
+            {
+                ConcurrentQueue<Tuple<int, byte[]>> chunks = new ConcurrentQueue<Tuple<int, byte[]>>();
                 Console.WriteLine(file.Key);
-
-                if (file.Value.ChunkHashes.First().Equals("__DIR__", StringComparison.CurrentCultureIgnoreCase))
-                {
-                    string subDirectory = Path.Combine(output, file.Key);
-                    if (File.Exists(subDirectory)) File.Delete(subDirectory);
-                    if (!Directory.Exists(subDirectory)) Directory.CreateDirectory(subDirectory);
-                    continue;
-                }

                 string filePath = Path.Combine(output, file.Key);

@@ -83,7 +84,7 @@
                 }

                 Console.WriteLine($"{file.Key} Total: {writtenSize.Result} Expected: {file.Value.FileSize}");
-            }
+            });

             return "Hello World";
         }


cleanup

cleanup

--- Node/Node/NodeStarter.cs
+++ Node/Node/NodeStarter.cs
@@ -8,7 +8,6 @@
 using Microsoft.Owin.Hosting;
 using Owin;
 using Stardust.Node.Extensions;
-using Stardust.Node.Interfaces;

 namespace Stardust.Node
 {
@@ -45,10 +44,7 @@
 			                    appBuilder =>
 			                    {
 									var containerBuilder = new ContainerBuilder();
-
-									//containerBuilder.RegisterInstance(nodeConfiguration);
 									containerBuilder.RegisterModule(new NodeModule(nodeConfiguration));
-
 									containerBuilder.Update(container);

 				                    // Configure Web API for self-host.


EncodingParameters implements IDisposable

--- src/Umbraco.Core/Media/ImageHelper.cs
+++ src/Umbraco.Core/Media/ImageHelper.cs
@@ -227,35 +227,37 @@
                     }

                     // Set compresion ratio to 90%
-                    var ep = new EncoderParameters();
-                    ep.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
-
-                    // Save the new image using the dimensions of the image
-                    var predictableThumbnailName = thumbnailFileName.Replace("UMBRACOSYSTHUMBNAIL", maxWidthHeight.ToString(CultureInfo.InvariantCulture));
-                    var predictableThumbnailNameJpg = predictableThumbnailName.Substring(0, predictableThumbnailName.LastIndexOf(".", StringComparison.Ordinal)) + ".jpg";
-                    using (var ms = new MemoryStream())
-                    {
-                        bp.Save(ms, codec, ep);
-                        ms.Seek(0, 0);
-
-                        fs.AddFile(predictableThumbnailName, ms);
-                        fs.AddFile(predictableThumbnailNameJpg, ms);
-                    }
-
-                    // TODO: Remove this, this is ONLY here for backwards compatibility but it is essentially completely unusable see U4-5385
-                    var newFileName = thumbnailFileName.Replace("UMBRACOSYSTHUMBNAIL", string.Format("{0}x{1}", widthTh, heightTh));
-                    using (var ms = new MemoryStream())
-                    {
-                        bp.Save(ms, codec, ep);
-                        ms.Seek(0, 0);
-
-                        fs.AddFile(newFileName, ms);
+                    string newFileName;
+                    using (var ep = new EncoderParameters())
+                    {
+                        ep.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
+
+                        // Save the new image using the dimensions of the image
+                        var predictableThumbnailName = thumbnailFileName.Replace("UMBRACOSYSTHUMBNAIL", maxWidthHeight.ToString(CultureInfo.InvariantCulture));
+                        var predictableThumbnailNameJpg = predictableThumbnailName.Substring(0, predictableThumbnailName.LastIndexOf(".", StringComparison.Ordinal)) + ".jpg";
+                        using (var ms = new MemoryStream())
+                        {
+                            bp.Save(ms, codec, ep);
+                            ms.Seek(0, 0);
+
+                            fs.AddFile(predictableThumbnailName, ms);
+                            fs.AddFile(predictableThumbnailNameJpg, ms);
+                        }
+
+                        // TODO: Remove this, this is ONLY here for backwards compatibility but it is essentially completely unusable see U4-5385
+                        newFileName = thumbnailFileName.Replace("UMBRACOSYSTHUMBNAIL", string.Format("{0}x{1}", widthTh, heightTh));
+                        using (var ms = new MemoryStream())
+                        {
+                            bp.Save(ms, codec, ep);
+                            ms.Seek(0, 0);
+
+                            fs.AddFile(newFileName, ms);
+                        }
                     }

                     return new ResizedImage(widthTh, heightTh, newFileName);
                 }
             }
         }
-
     }
 }


-forgot "current" text to distinguish from "max"

--- core/SpellData.cs
+++ core/SpellData.cs
@@ -1580,16 +1580,16 @@
                 case 521:
                     return String.Format("Absorb Damage using End: {0}%", base1 / 100) + (base2 != 10000 ? String.Format(" ({0:F} End per 1 HP)", base2 / 10000) : "") + (max > 0 ? String.Format(", Max Per Hit: {0}", max) : "");
                 case 522:
-                    return Spell.FormatPercent("Mana", base1 / 100) + String.Format(" up to {0}", max);
+                    return Spell.FormatPercent("Current Mana", base1 / 100) + String.Format(" up to {0}", max);
                 case 523:
-                    return Spell.FormatPercent("End", base1 / 100) + String.Format(" up to {0}", max);
+                    return Spell.FormatPercent("Current End", base1 / 100) + String.Format(" up to {0}", max);
                 case 524:
                     // like 147 but repeating, and like 147 this seems to be just base1 instead of base1 / 100
-                    return Spell.FormatPercent("HP", base1) + String.Format(" up to {0}", max) + repeating;
+                    return Spell.FormatPercent("Current HP", base1) + String.Format(" up to {0}", max) + repeating;
                 case 525:
-                    return Spell.FormatPercent("Mana", base1 / 100) + String.Format(" up to {0}", max) + repeating;
+                    return Spell.FormatPercent("Current Mana", base1 / 100) + String.Format(" up to {0}", max) + repeating;
                 case 526:
-                    return Spell.FormatPercent("End", base1 / 100) + String.Format(" up to {0}", max) + repeating;
+                    return Spell.FormatPercent("Current End", base1 / 100) + String.Format(" up to {0}", max) + repeating;

             }