replace <p> with <p> to remove xml errors

--- SnapMD.VirtualCare.ApiModels/Enums/IdentifierTypeCode.cs
+++ SnapMD.VirtualCare.ApiModels/Enums/IdentifierTypeCode.cs
@@ -74,25 +74,25 @@

         /// Account number Creditor
         /// <remarks>
-        /// Class: Financial
A more precise definition of an account number: sometimes two distinct account numbers must be transmitted in the same message, one as the creditor, the other as the debitor.
Kreditorenkontonummer
+        /// Class: Financial<p>A more precise definition of an account number: sometimes two distinct account numbers must be transmitted in the same message, one as the creditor, the other as the debitor.<p>Kreditorenkontonummer
         /// </remarks>
         ANC = 104,

         /// Account number debitor
         /// <remarks>
-        /// Class: Financial
A more precise definition of an account number: sometimes two distinct account numbers must be transmitted in the same message, one as the creditor, the other as the debitor.
Debitorenkontonummer
+        /// Class: Financial<p>A more precise definition of an account number: sometimes two distinct account numbers must be transmitted in the same message, one as the creditor, the other as the debitor.<p>Debitorenkontonummer
         /// </remarks>
         AND = 105,

         /// Anonymous identifier
         /// <remarks>
-        /// An identifier for a living subject whose real identity is protected or suppressed
Justification: For public health reporting purposes, anonymous identifiers are occasionally used for protecting patient identity in reporting certain results. For instance
+        /// An identifier for a living subject whose real identity is protected or suppressed<p>Justification: For public health reporting purposes, anonymous identifiers are occasionally used for protecting patient identity in reporting certain results. For instance
         /// </remarks>
         ANON = 106,

         /// Temporary Account Number
         /// <remarks>
-        /// Class: Financial
Temporary version of an Account Number.
Use Case: An ancillary system that does not normally assign account numbers is the first time to register a patient. This ancillary system will generate a temporary account number that will only
+        /// Class: Financial<p>Temporary version of an Account Number.<p>Use Case: An ancillary system that does not normally assign account numbers is the first time to register a patient. This ancillary system will generate a temporary account number that will only
         /// </remarks>
         ANT = 107,

@@ -116,7 +116,7 @@

         /// Bank Card Number
         /// <remarks>
-        /// Class: Financial
An identifier that is unique to a person's bank card. Replaces AM, DI, DS, MS, and VS beginning in v 2.5.
+        /// Class: Financial<p>An identifier that is unique to a person's bank card. Replaces AM, DI, DS, MS, and VS beginning in v 2.5.
         /// </remarks>
         BC = 111,

@@ -143,7 +143,7 @@

         /// Cost Center number
         /// <remarks>
-        /// Class: Financial
Use Case: needed especially for transmitting information about invoices.
+        /// Class: Financial<p>Use Case: needed especially for transmitting information about invoices.
         /// </remarks>
         CC = 116,

@@ -170,13 +170,13 @@

         /// Drug Enforcement Administration registration number
         /// <remarks>
-        /// An identifier for an individual or organization relative to controlled substance regulation and transactions.
Use case: This is a registration number that identifies an individual or organization relative to controlled substance regulation and transacti
+        /// An identifier for an individual or organization relative to controlled substance regulation and transactions.<p>Use case: This is a registration number that identifies an individual or organization relative to controlled substance regulation and transacti
         /// </remarks>
         DEA = 121,

         /// Drug Furnishing or prescriptive authority Number
         /// <remarks>
-        /// An identifier issued to a health care provider authorizing the person to write drug orders
Use Case: A nurse practitioner has authorization to furnish or prescribe pharmaceutical substances; this identifier is in component 1.
+        /// An identifier issued to a health care provider authorizing the person to write drug orders<p>Use Case: A nurse practitioner has authorization to furnish or prescribe pharmaceutical substances; this identifier is in component 1.
         /// </remarks>
         DFN = 122,

@@ -266,7 +266,7 @@

         /// Jurisdictional health number (Canada)
         /// <remarks>
-        /// Class: Insurance
2 uses: a) UK jurisdictional CHI number; b) Canadian provincial health card number:
+        /// Class: Insurance<p>2 uses: a) UK jurisdictional CHI number; b) Canadian provincial health card number:
         /// </remarks>
         JHN = 140,

@@ -299,7 +299,7 @@

         /// Member Number
         /// <remarks>
-        /// An identifier for the insured of an insurance policy (this insured always has a subscriber), usually assigned by the insurance carrier.
Use Case: Person is covered by an insurance policy. This person may or may not be the subscriber of the policy.
+        /// An identifier for the insured of an insurance policy (this insured always has a subscriber), usually assigned by the insurance carrier.<p>Use Case: Person is covered by an insurance policy. This person may or may not be the subscriber of the policy.
         /// </remarks>
         MB = 147,

@@ -332,7 +332,7 @@

         /// Medical License number
         /// <remarks>
-        /// An identifier that is unique to a medical doctor within the jurisdiction of a licensing board.
Use Case: These license numbers are sometimes used as identifiers. In some states, the same authority issues all three identifiers, e.g. medical, osteopathic
+        /// An identifier that is unique to a medical doctor within the jurisdiction of a licensing board.<p>Use Case: These license numbers are sometimes used as identifiers. In some states, the same authority issues all three identifiers, e.g. medical, osteopathic
         /// </remarks>
         MD = 153,

@@ -350,7 +350,7 @@

         /// Temporary Medical Record Number
         /// <remarks>
-        /// Temporary version of a Medical Record Number
Use Case: An ancillary system that does not normally assign medical record numbers is the first time to register a patient. This ancillary system will generate a temporary medical record number that will only
+        /// Temporary version of a Medical Record Number<p>Use Case: An ancillary system that does not normally assign medical record numbers is the first time to register a patient. This ancillary system will generate a temporary medical record number that will only
         /// </remarks>
         MRT = 156,

@@ -380,25 +380,25 @@

         /// National Health Plan Identifier
         /// <remarks>
-        /// Class: Insurance
Used for the UK NHS national identifier.
In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
+        /// Class: Insurance<p>Used for the UK NHS national identifier.<p>In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
         /// </remarks>
         NH = 161,

         /// National unique individual identifier
         /// <remarks>
-        /// Class: Insurance
In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
+        /// Class: Insurance<p>In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
         /// </remarks>
         NI = 162,

         /// National Insurance Organization Identifier
         /// <remarks>
-        /// Class: Insurance
In Germany a national identifier for an insurance company. It is printed on the insurance card (health card). It is not to be confused with the health card number itself.
Krankenkassen-ID der KV-Karte
+        /// Class: Insurance<p>In Germany a national identifier for an insurance company. It is printed on the insurance card (health card). It is not to be confused with the health card number itself.<p>Krankenkassen-ID der KV-Karte
         /// </remarks>
         NII = 163,

         /// National Insurance Payor Identifier (Payor)
         /// <remarks>
-        /// Class: Insurance
In Germany the insurance identifier addressed as the payor.
Krankenkassen-ID des Rechnungsempfängers
Use case: a subdivision issues the card with their identifier, but the main division is going to pay the invoices.
+        /// Class: Insurance<p>In Germany the insurance identifier addressed as the payor.<p>Krankenkassen-ID des Rechnungsempfängers<p>Use case: a subdivision issues the card with their identifier, but the main division is going to pay the invoices.
         /// </remarks>
         NIIP = 164,

@@ -410,7 +410,7 @@

         /// National provider identifier
         /// <remarks>
-        /// Class: Insurance
In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
+        /// Class: Insurance<p>In the US, the Assigning Authority for this value is typically CMS, but it may be used by all providers and insurance companies in HIPAA related transactions.
         /// </remarks>
         NPI = 166,

@@ -482,7 +482,7 @@

         /// Provider number
         /// <remarks>
-        /// A number that is unique to an individual provider, a provider group or an organization within an Assigning Authority.
Use case: This allows PRN to represent either an individual (a nurse) or a group/organization (orthopedic surgery team).
+        /// A number that is unique to an individual provider, a provider group or an organization within an Assigning Authority.<p>Use case: This allows PRN to represent either an individual (a nurse) or a group/organization (orthopedic surgery team).
         /// </remarks>
         PRN = 179,

@@ -494,7 +494,7 @@

         /// Resource identifier
         /// <remarks>
-        /// A generalized resource identifier.
Use Case: An identifier type is needed to accommodate what are commonly known as resources. The resources can include human (e.g. a respiratory therapist), non-human (e.g. a companion animal), inanimate object (e.g.
+        /// A generalized resource identifier.<p>Use Case: An identifier type is needed to accommodate what are commonly known as resources. The resources can include human (e.g. a respiratory therapist), non-human (e.g. a companion animal), inanimate object (e.g.
         /// </remarks>
         RI = 182,

@@ -536,7 +536,7 @@

         /// Subscriber Number
         /// <remarks>
-        /// Class: Insurance
An identifier for a subscriber of an insurance policy which is unique for, and usually assigned by, the insurance carrier.
Use Case: A person is the subscriber of an insurance policy. The person's family may be plan members, but are n
+        /// Class: Insurance<p>An identifier for a subscriber of an insurance policy which is unique for, and usually assigned by, the insurance carrier.<p>Use Case: A person is the subscriber of an insurance policy. The person's family may be plan members, but are n
         /// </remarks>
         SN = 190,

@@ -557,7 +557,7 @@

         /// Treaty Number/ (Canada)
         /// <remarks>
-        /// A number assigned to a member of an indigenous group in Canada.
Use Case: First Nation.
+        /// A number assigned to a member of an indigenous group in Canada.<p>Use Case: First Nation.
         /// </remarks>
         TN = 195,

@@ -572,7 +572,7 @@

         /// Medicare/CMS (formerly HCFA)'s Universal Physician Identification numbers
         /// <remarks>
-        /// Class: Insurance
An identifier for a provider within the CMS/Medicare program.  A globally unique identifier for the provider in the Medicare program.
+        /// Class: Insurance<p>An identifier for a provider within the CMS/Medicare program.  A globally unique identifier for the provider in the Medicare program.
         /// </remarks>
         UPIN = 198,


Fixed unit test

Fixed unit test

--- src/NSwag.CodeGeneration.CSharp.Tests/ArrayParameterTests.cs
+++ src/NSwag.CodeGeneration.CSharp.Tests/ArrayParameterTests.cs
@@ -69,7 +69,7 @@
             //// Assert
             Assert.IsTrue(
                 code.Contains(
-                    @"foreach (var item_ in elementId) { urlBuilder_.Append(""elementId="").Append(System.Uri.EscapeDataString(System.Convert.ToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append(""&""); }"));
+                    @"foreach (var item_ in elementId) { urlBuilder_.Append(""elementId="").Append(System.Uri.EscapeDataString(ClientUtilities.ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append(""&""); }"));
         }

     }


Stop using AllowSynchronousIO

Stop using AllowSynchronousIO

--- Source/GraphQLTemplate/Source/GraphQLTemplate/Program.cs
+++ Source/GraphQLTemplate/Source/GraphQLTemplate/Program.cs
@@ -7,7 +7,6 @@
 #if ApplicationInsights
     using Microsoft.ApplicationInsights.Extensibility;
 #endif
-    using Microsoft.AspNetCore.Builder;
     using Microsoft.AspNetCore.Hosting;
     using Microsoft.Extensions.Configuration;
 #if ApplicationInsights
@@ -96,8 +95,6 @@
 #endif
                 // Used for IIS and IIS Express for in-process hosting. Use UseIISIntegration for out-of-process hosting.
                 .UseIIS()
-                .ConfigureServices(
-                    services => services.Configure<IISServerOptions>(options => options.AllowSynchronousIO = true))
                 .UseStartup<Startup>();
 #if Serilog


Fix tests

Fix tests

--- Source/Orleankka.Tests/Features/Strongly_typed_actors.cs
+++ Source/Orleankka.Tests/Features/Strongly_typed_actors.cs
@@ -20,7 +20,7 @@
         public interface ITestActor : IActor
         {}

-        public class TestActor : Actor
+        public class TestActor : Actor, ITestActor
         {
             void On(TestActorCommand x) {}
             long On(TestActorQuery x) => 42;
@@ -35,7 +35,7 @@
         public interface ITestAnotherActor : IActor
         {}

-        public class TestAnotherActor : Actor
+        public class TestAnotherActor : Actor, ITestAnotherActor
         {
             Task On(TestAnotherActorCommand x) => x.Ref.Tell(new TestActorCommand());
         }


Remove left-over test file of v3.

Remove left-over test file of v3.

--- Tests/Net/AsmResolver.Net.Tests/Cts/AccessibilityTest.cs
+++ Tests/Net/AsmResolver.Net.Tests/Cts/AccessibilityTest.cs
@@ -1,325 +0,0 @@
-using AsmResolver.Net;
-using AsmResolver.Net.Cts;
-using AsmResolver.Net.Metadata;
-using AsmResolver.Net.Signatures;
-using Xunit;
-
-namespace AsmResolver.Tests.Net.Cts
-{
-    public class AccessibilityTest
-    {
-        private const string DummyAssemblyName = "SomeAssemblyName";
-        private readonly SignatureComparer _comparer = new SignatureComparer();
-
-        private static ModuleDefinition CreateDummyModule()
-        {
-            var assembly = NetAssemblyFactory.CreateAssembly(DummyAssemblyName, true);
-            var module = assembly.NetDirectory.MetadataHeader.LockMetadata().Assembly.Modules[0];
-            return module;
-        }
-
-        [Fact]
-        public void TypeAccessItself()
-        {
-            var module = CreateDummyModule();
-
-            var type = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type);
-
-            Assert.True(type.IsAccessibleFromType(type));
-        }
-
-        [Fact]
-        public void NestedTypeAccessItself()
-        {
-            var module = CreateDummyModule();
-
-            var type = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type);
-
-            var nestedType = new TypeDefinition(null, "T2", TypeAttributes.NestedPublic);
-            type.NestedClasses.Add(new NestedClass(nestedType));
-
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-            nestedType.IsNestedAssembly = true;
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-            nestedType.IsNestedFamily = true;
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-            nestedType.IsNestedFamilyAndAssembly = true;
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-            nestedType.IsNestedFamilyOrAssembly = true;
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-            nestedType.IsNestedPrivate = true;
-            Assert.True(nestedType.IsAccessibleFromType(nestedType));
-        }
-
-        [Fact]
-        public void PrivateNestedType()
-        {
-            var module = CreateDummyModule();
-
-            var type = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type);
-
-            var nestedType = new TypeDefinition(null, "T2", TypeAttributes.NestedPrivate);
-            type.NestedClasses.Add(new NestedClass(nestedType));
-
-            var other = new TypeDefinition(null, "T3", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(other);
-
-            Assert.True(nestedType.IsAccessibleFromType(type));
-            Assert.True(type.IsAccessibleFromType(nestedType));
-            Assert.False(nestedType.IsAccessibleFromType(other));
-        }
-
-        [Fact]
-        public void AssemblyNestedType()
-        {
-            var module = CreateDummyModule();
-
-            var type = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type);
-
-            var nestedType = new TypeDefinition(null, "T2", TypeAttributes.NestedAssembly);
-            type.NestedClasses.Add(new NestedClass(nestedType));
-
-            var other = new TypeDefinition(null, "T3", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(other);
-
-            Assert.True(nestedType.IsAccessibleFromType(type));
-            Assert.True(type.IsAccessibleFromType(nestedType));
-            Assert.True(nestedType.IsAccessibleFromType(other));
-        }
-
-        [Fact]
-        public void DoubleNestedTypes()
-        {
-            var module = CreateDummyModule();
-
-            var type = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type);
-
-            var nestedType1 = new TypeDefinition(null, "T2", TypeAttributes.NestedPrivate);
-            type.NestedClasses.Add(new NestedClass(nestedType1));
-
-            var nestedType2 = new TypeDefinition(null, "T3", TypeAttributes.NestedPrivate);
-            nestedType1.NestedClasses.Add(new NestedClass(nestedType2));
-
-            Assert.True(nestedType1.IsAccessibleFromType(type));
-            Assert.True(nestedType2.IsAccessibleFromType(nestedType1));
-            Assert.True(type.IsAccessibleFromType(nestedType2));
-            Assert.False(nestedType2.IsAccessibleFromType(type));
-        }
-
-        [Fact]
-        public void TwoNonPublicTypesSameAssembly()
-        {
-            var module = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.NotPublic);
-            module.TopLevelTypes.Add(type2);
-
-            Assert.True(type1.IsAccessibleFromType(type2));
-            Assert.True(type2.IsAccessibleFromType(type1));
-        }
-
-        [Fact]
-        public void TwoNonPublicTypesDifferentAssembly()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.NotPublic);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.NotPublic);
-            module2.TopLevelTypes.Add(type2);
-
-            Assert.False(type1.IsAccessibleFromType(type2));
-            Assert.False(type2.IsAccessibleFromType(type1));
-        }
-
-        [Fact]
-        public void PublicAndNonPublicTypeDifferentAssembly()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.NotPublic);
-            module2.TopLevelTypes.Add(type2);
-
-            Assert.True(type1.IsAccessibleFromType(type2));
-            Assert.False(type2.IsAccessibleFromType(type1));
-        }
-
-        [Fact]
-        public void PrivateField()
-        {
-            var module = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module.TopLevelTypes.Add(type2);
-
-            var field = new FieldDefinition("F1", FieldAttributes.Private,
-                new FieldSignature(module.Image.TypeSystem.Int32));
-            type1.Fields.Add(field);
-
-            Assert.True(field.IsAccessibleFromType(type1));
-            Assert.False(field.IsAccessibleFromType(type2));
-        }
-
-        [Fact]
-        public void AssemblyField()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type2);
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module2.TopLevelTypes.Add(type3);
-
-            var field = new FieldDefinition("F1", FieldAttributes.Assembly,
-                new FieldSignature(module1.Image.TypeSystem.Int32));
-            type1.Fields.Add(field);
-
-            Assert.True(field.IsAccessibleFromType(type1));
-            Assert.True(field.IsAccessibleFromType(type2));
-            Assert.False(field.IsAccessibleFromType(type3));
-        }
-
-        [Fact]
-        public void PublicField()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type2);
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module2.TopLevelTypes.Add(type3);
-
-            var field = new FieldDefinition("F1", FieldAttributes.Public,
-                new FieldSignature(module1.Image.TypeSystem.Int32));
-            type1.Fields.Add(field);
-
-            Assert.True(field.IsAccessibleFromType(type1));
-            Assert.True(field.IsAccessibleFromType(type2));
-            Assert.True(field.IsAccessibleFromType(type3));
-        }
-
-        [Fact]
-        public void PublicFieldPrivateNestedType()
-        {
-            var module1 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.NestedPrivate);
-            type1.NestedClasses.Add(new NestedClass(type2));
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type3);
-
-            var field = new FieldDefinition("F1", FieldAttributes.Public,
-                new FieldSignature(module1.Image.TypeSystem.Int32));
-            type2.Fields.Add(field);
-
-            Assert.True(field.IsAccessibleFromType(type1));
-            Assert.True(field.IsAccessibleFromType(type2));
-            Assert.False(field.IsAccessibleFromType(type3));
-        }
-
-        [Fact]
-        public void PrivateMethod()
-        {
-            var module = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module.TopLevelTypes.Add(type2);
-
-            var method = new MethodDefinition("M1", MethodAttributes.Private,
-                new MethodSignature(module.Image.TypeSystem.Void));
-            type1.Methods.Add(method);
-
-            Assert.True(method.IsAccessibleFromType(type1));
-            Assert.False(method.IsAccessibleFromType(type2));
-        }
-
-        [Fact]
-        public void AssemblyMethod()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type2);
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module2.TopLevelTypes.Add(type3);
-
-            var method = new MethodDefinition("M1", MethodAttributes.Assembly,
-                new MethodSignature(module1.Image.TypeSystem.Void));
-            type1.Methods.Add(method);
-
-            Assert.True(method.IsAccessibleFromType(type1));
-            Assert.True(method.IsAccessibleFromType(type2));
-            Assert.False(method.IsAccessibleFromType(type3));
-        }
-
-        [Fact]
-        public void PublicMethod()
-        {
-            var module1 = CreateDummyModule();
-            var module2 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type2);
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module2.TopLevelTypes.Add(type3);
-
-            var method = new MethodDefinition("M1", MethodAttributes.Public,
-                new MethodSignature(module1.Image.TypeSystem.Void));
-            type1.Methods.Add(method);
-
-            Assert.True(method.IsAccessibleFromType(type1));
-            Assert.True(method.IsAccessibleFromType(type2));
-            Assert.True(method.IsAccessibleFromType(type3));
-        }
-
-        [Fact]
-        public void PublicMethodPrivateNestedType()
-        {
-            var module1 = CreateDummyModule();
-
-            var type1 = new TypeDefinition(null, "T1", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type1);
-            var type2 = new TypeDefinition(null, "T2", TypeAttributes.NestedPrivate);
-            type1.NestedClasses.Add(new NestedClass(type2));
-            var type3 = new TypeDefinition(null, "T3", TypeAttributes.Public);
-            module1.TopLevelTypes.Add(type3);
-
-            var method = new MethodDefinition("M1", MethodAttributes.Public,
-                new MethodSignature(module1.Image.TypeSystem.Void));
-            type2.Methods.Add(method);
-
-            Assert.True(method.IsAccessibleFromType(type1));
-            Assert.True(method.IsAccessibleFromType(type2));
-            Assert.False(method.IsAccessibleFromType(type3));
-        }
-
-    }
-}


Fix #pragma warning

Fix #pragma warning

--- ThScoreFileConverter/Models/Th128/CollectRateReplacer.cs
+++ ThScoreFileConverter/Models/Th128/CollectRateReplacer.cs
@@ -5,7 +5,7 @@
 // </copyright>
 //-----------------------------------------------------------------------

-#pragma warning restore SA1600 // Elements should be documented
+#pragma warning disable SA1600 // Elements should be documented

 using System;
 using System.Collections.Generic;
@@ -16,7 +16,6 @@
 namespace ThScoreFileConverter.Models.Th128
 {
     // %T128CRG[x][yyy][z]
-#pragma warning disable SA1600 // Elements should be documented
     internal class CollectRateReplacer : IStringReplaceable
     {
         private static readonly string Pattern = Utils.Format(


Replace using static with explicit nested reference

This seems to be an inspectcode bug, as the code is correct and
compiles, but let's just work around it for now.

--- osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs
+++ osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs
@@ -8,7 +8,6 @@
 using osu.Framework.Graphics.Containers;
 using osu.Game.Audio;
 using osu.Game.Beatmaps;
-using static osu.Game.Tests.Visual.Components.TestScenePreviewTrackManager.TestPreviewTrackManager;

 namespace osu.Game.Tests.Visual.Components
 {
@@ -100,7 +99,7 @@
         [Test]
         public void TestNonPresentTrack()
         {
-            TestPreviewTrack track = null;
+            TestPreviewTrackManager.TestPreviewTrack track = null;

             AddStep("get non-present track", () =>
             {
@@ -182,9 +181,9 @@
             AddAssert("track stopped", () => !track.IsRunning);
         }

-        private TestPreviewTrack getTrack() => (TestPreviewTrack)trackManager.Get(null);
-
-        private TestPreviewTrack getOwnedTrack()
+        private TestPreviewTrackManager.TestPreviewTrack getTrack() => (TestPreviewTrackManager.TestPreviewTrack)trackManager.Get(null);
+
+        private TestPreviewTrackManager.TestPreviewTrack getOwnedTrack()
         {
             var track = getTrack();


Remove redundant parenthesis

Remove redundant parenthesis

Co-authored-by: Bartłomiej Dach <809709723693c4e7ecc6f5379a3099c830279741@gmail.com>

--- osu.Game.Tests/Visual/Multiplayer/TestSceneDrawableLoungeRoom.cs
+++ osu.Game.Tests/Visual/Multiplayer/TestSceneDrawableLoungeRoom.cs
@@ -63,7 +63,7 @@
                     RelativeSizeAxes = Axes.Both,
                     Children = new Drawable[]
                     {
-                        searchTextBox = new SearchTextBox()
+                        searchTextBox = new SearchTextBox
                         {
                             HoldFocus = true,
                             Anchor = Anchor.TopCentre,


Fix potential crash from unsafe drawable mutation in scoreboard update code

--- osu.Game/Screens/OnlinePlay/Match/Components/MatchLeaderboard.cs
+++ osu.Game/Screens/OnlinePlay/Match/Components/MatchLeaderboard.cs
@@ -38,13 +38,13 @@

             var req = new GetRoomLeaderboardRequest(roomId.Value ?? 0);

-            req.Success += r =>
+            req.Success += r => Schedule(() =>
             {
                 if (cancellationToken.IsCancellationRequested)
                     return;

                 SetScores(r.Leaderboard, r.UserScore);
-            };
+            });

             return req;
         }


Revert "revert logging config causing bug"

This reverts commit 9f927daf453041b8955e372506943a2c80c198d9.

--- api/FilterLists.Api/Startup.cs
+++ api/FilterLists.Api/Startup.cs
@@ -19,6 +19,9 @@
                 .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true)
                 .AddEnvironmentVariables();
             Configuration = builder.Build();
+
+            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
+            loggerFactory.AddDebug();
         }

         public IConfigurationRoot Configuration { get; }
@@ -35,9 +38,6 @@
             loggerFactory.AddConsole(Configuration.GetSection("Logging"));
             loggerFactory.AddDebug();
             app.UseMvc();
-            //TODO: maybe move to Startup() per Scott Allen
-            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
-            loggerFactory.AddDebug();
         }
     }
 }


Absolute url for Archtype thumbnail.

Absolute url for Archtype thumbnail.

--- src/Presentation/ygo.api/Controllers/ArchetypesController.cs
+++ src/Presentation/ygo.api/Controllers/ArchetypesController.cs
@@ -5,6 +5,7 @@
 using System.Linq;
 using System.Net;
 using System.Threading.Tasks;
+using Microsoft.AspNetCore.Routing;
 using ygo.api.Auth;
 using ygo.api.Model;
 using ygo.application.Commands.AddArchetype;
@@ -107,10 +108,14 @@

                 if (searchResults.List.Any())
                 {
+                    var archetypeList = searchResults.List.ToList();
+
+                    GenerateArchetypeImageLinks(archetypeList);
+
                     return Ok(new
                     {
                         Links = ArchetypeSearchLinks(searchResults, query.SearchTerm),
-                        Items = searchResults.List
+                        Items = archetypeList
                     });
                 }

@@ -203,6 +208,11 @@
             };
         }

+        private void GenerateArchetypeImageLinks(List<ArchetypeDto> archetypeList)
+        {
+            archetypeList.ForEach(a => { a.ImageUrl = Url.Link(ImagesController.ArchetypeImageRouteName, new { a.Id }); });
+        }
+
         #endregion
     }
 }


Disable AppDomainTests.UnhandledException test

--- src/System.Runtime.Extensions/tests/System/AppDomainTests.cs
+++ src/System.Runtime.Extensions/tests/System/AppDomainTests.cs
@@ -59,6 +59,7 @@
             AppDomain.CurrentDomain.UnhandledException -= new UnhandledExceptionEventHandler(NotExpectedToBeCalledHandler);
         }

+        [ActiveIssue(12716)]
         [PlatformSpecific(~TestPlatforms.OSX)] // Unhandled exception on a separate process causes xunit to crash on osx
         [Fact]
         public void UnhandledException_Called()


git-svn-id: https://svn.origo.ethz.ch/ircddotnet/trunk@20 3fea7bcf-81c2-4a08-a3b7-d3cc9173df77


doc refactor

doc refactor

--- src/Autofac.Extras.IocManager/IocManager.cs
+++ src/Autofac.Extras.IocManager/IocManager.cs
@@ -44,7 +44,7 @@

         /// <summary>
         ///     Gets an object from IOC container.
-        ///     Returning object must be Released (see <see cref="IIocResolver.Release" />) after usage.
+        ///     Returning object must be Released (see <see cref="ILifetimeScope" />) after usage.
         /// </summary>
         /// <typeparam name="T">Type of the object to get</typeparam>
         /// <returns>The instance object</returns>
@@ -55,7 +55,7 @@

         /// <summary>
         ///     Gets an object from IOC container.
-        ///     Returning object must be Released (see <see cref="Release" />) after usage.
+        ///     Returning object must be Released (see <see cref="ILifetimeScope" />) after usage.
         /// </summary>
         /// <typeparam name="T">Type of the object to cast</typeparam>
         /// <param name="type">Type of the object to resolve</param>
@@ -67,7 +67,7 @@

         /// <summary>
         ///     Gets an object from IOC container.
-        ///     Returning object must be Released (see <see cref="IIocResolver.Release" />) after usage.
+        ///     Returning object must be Released (see <see cref="ILifetimeScope" />) after usage.
         /// </summary>
         /// <typeparam name="T">Type of the object to get</typeparam>
         /// <param name="argumentsAsAnonymousType">Constructor arguments</param>
@@ -79,7 +79,7 @@

         /// <summary>
         ///     Gets an object from IOC container.
-        ///     Returning object must be Released (see <see cref="IIocResolver.Release" />) after usage.
+        ///     Returning object must be Released (see <see cref="ILifetimeScope" />) after usage.
         /// </summary>
         /// <param name="type">Type of the object to get</param>
         /// <returns>The instance object</returns>
@@ -90,7 +90,7 @@

         /// <summary>
         ///     Gets an object from IOC container.
-        ///     Returning object must be Released (see <see cref="IIocResolver.Release" />) after usage.
+        ///     Returning object must be Released (see <see cref="ILifetimeScope" />) after usage.
         /// </summary>
         /// <param name="type">Type of the object to get</param>
         /// <param name="argumentsAsAnonymousType">Constructor arguments</param>
@@ -100,13 +100,24 @@
             return Container.Resolve(type, argumentsAsAnonymousType.GetTypedResolvingParameters());
         }

-        /// <inheritdoc />
+        /// <summary>
+        ///     Gets all implementations for given type.
+        ///     Returning objects must be Released after usage.
+        /// </summary>
+        /// <typeparam name="T">Type of the objects to resolve</typeparam>
+        /// <returns>Object instances</returns>
         public T[] ResolveAll<T>()
         {
             return Container.Resolve<IEnumerable<T>>().ToArray();
         }

-        /// <inheritdoc />
+        /// <summary>
+        ///     Gets all implementations for given type.
+        ///     Returning objects must be Released after usage.
+        /// </summary>
+        /// <typeparam name="T">Type of the objects to resolve</typeparam>
+        /// <param name="argumentsAsAnonymousType">Constructor arguments</param>
+        /// <returns>Object instances</returns>
         public T[] ResolveAll<T>(object argumentsAsAnonymousType)
         {
             return Container.Resolve<IEnumerable<T>>(argumentsAsAnonymousType.GetTypedResolvingParameters()).ToArray();


Fixed unit tests

Fixed unit tests

--- src/SFA.DAS.EmployerAccounts.Web.UnitTests/Controllers/HomeControllerTests/WhenIModifyMyUserAccount.cs
+++ src/SFA.DAS.EmployerAccounts.Web.UnitTests/Controllers/HomeControllerTests/WhenIModifyMyUserAccount.cs
@@ -76,7 +76,7 @@
         }

         [Test]
-        public async Task ThenTheAccountCreatedActionCreatesARedirectToRouteResultToGetApprenticeshipFunding()
+        public async Task ThenTheAccountCreatedActionCreatesARedirectToRouteResultToIndex()
         {
             //Act
             var actual = await _homeController.HandleNewRegistration();
@@ -86,7 +86,7 @@
             Assert.IsAssignableFrom<RedirectToRouteResult>(actual);
             var actualRedirect = actual as RedirectToRouteResult;
             Assert.IsNotNull(actualRedirect);
-            Assert.AreEqual("GetApprenticeshipFunding", actualRedirect.RouteValues["action"]);
+            Assert.AreEqual("Index", actualRedirect.RouteValues["action"]);
         }

         [Test]


fix for recursive generation counting

fix for recursive generation counting

--- ARKBreedingStats/library/Creature.cs
+++ ARKBreedingStats/library/Creature.cs
@@ -206,6 +206,7 @@
         public void RecalculateAncestorGenerations()
         {
             generation = AncestorGenerations();
+            if (generation < 0) generation = 0;
         }

         /// <summary>
@@ -216,13 +217,23 @@
         {
             // to detect loop (if a creature is falsely listed as its own ancestor)
             if (g > 99)
-                return 0;
+            {
+                return -1;
+            }

             int mgen = 0, fgen = 0;
             if (mother != null)
+            {
                 mgen = mother.AncestorGenerations(g + 1) + 1;
+                if (mgen == 0)
+                    return -1;
+            }
             if (father != null)
+            {
                 fgen = father.AncestorGenerations(g + 1) + 1;
+                if (fgen == 0)
+                    return -1;
+            }
             if (isBred && mgen == 0 && fgen == 0)
                 return 1;
             return mgen > fgen ? mgen : fgen;


Fix ASM Compute test setup.

Fix ASM Compute test setup.

--- src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ServiceManagementTest.cs
+++ src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ServiceManagementTest.cs
@@ -105,9 +105,9 @@
             {
                 defaultAzureSubscription = vmPowershellCmdlets.SetAzureSubscription(defaultAzureSubscription.SubscriptionName, defaultAzureSubscription.SubscriptionId, CredentialHelper.DefaultStorageName);
                 vmPowershellCmdlets.SelectAzureSubscription(defaultAzureSubscription.SubscriptionName, true);
-                storageAccountKey = vmPowershellCmdlets.GetAzureStorageAccountKey(defaultAzureSubscription.CurrentStorageAccountName);
-                Assert.AreEqual(defaultAzureSubscription.CurrentStorageAccountName, storageAccountKey.StorageAccountName);
-                blobUrlRoot = (vmPowershellCmdlets.GetAzureStorageAccount(defaultAzureSubscription.CurrentStorageAccountName)[0].Endpoints.ToArray())[0];
+                storageAccountKey = vmPowershellCmdlets.GetAzureStorageAccountKey(CredentialHelper.DefaultStorageName);
+                Assert.AreEqual(CredentialHelper.DefaultStorageName, storageAccountKey.StorageAccountName);
+                blobUrlRoot = (vmPowershellCmdlets.GetAzureStorageAccount(CredentialHelper.DefaultStorageName)[0].Endpoints.ToArray())[0];
             }
             else
             {


Negating the condition fixes #77

Negating the condition fixes #77

--- AngleSharp/Parser/Html/HtmlParser.cs
+++ AngleSharp/Parser/Html/HtmlParser.cs
@@ -3070,7 +3070,7 @@
                 {
                     GenerateImpliedEndTagsExceptFor(tag.Name);

-                    if (node.LocalName == tag.Name)
+                    if (node.LocalName != tag.Name)
                         RaiseErrorOccurred(HtmlParseError.TagClosedWrong);

                     for (int i = _openElements.Count - 1; index <= i; i--)


Removed unused methods

Removed unused methods

--- AngleSharp/Services/IEventService.cs
+++ AngleSharp/Services/IEventService.cs
@@ -16,18 +16,6 @@
         void Enqueue(Task task);

         /// <summary>
-        /// Gets the currently running task.
-        /// </summary>
-        Task Current { get; }
-
-        /// <summary>
-        /// Performs a microtask checkpoint, which cleans up pending
-        /// microtasks.
-        /// </summary>
-        /// <returns>An awaitable task.</returns>
-        Task Check();
-
-        /// <summary>
         /// Executes the compound subtask by invoking the series of
         /// steps from a microtask source.
         /// </summary>


Fixed AngularVelocity operators to only return positive distance and time

--- SharpConvert/AngularVelocity.cs
+++ SharpConvert/AngularVelocity.cs
@@ -1,7 +1,9 @@
-using System;
-
+
 namespace MmiSoft.Core.Math.Units
 {
+	using System;
+
+	[Serializable]
 	public abstract class AngularVelocity : UnitBase, IComparable<AngularVelocity>
 	{
 		protected AngularVelocity(double unitValue, Conversion conversion)
@@ -53,7 +55,7 @@
 		{
 			double s = omega.ToSi() * t.ToSi();
 			AngleUnit distanceTraveled = omega.GetAngleUnit();
-			distanceTraveled.FromSi(s);
+			distanceTraveled.FromSi(Math.Abs(s));
 			return distanceTraveled;
 		}

@@ -66,7 +68,7 @@
 		{
 			double t = a.ToSi() / omega.ToSi();
 			TimeUnit timeToTravel = omega.GetTimeUnit();
-			timeToTravel.FromSi(t);
+			timeToTravel.FromSi(Math.Abs(t));
 			return timeToTravel;
 		}


Add enum for defining different indice component types (#245)

--- Source/Runtime/MeshPrimitive.cs
+++ Source/Runtime/MeshPrimitive.cs
@@ -59,6 +59,16 @@
         /// List of tangents for the mesh primitive
         /// </summary>
         public List<Vector4> Tangents { get; set; }
+
+        /// <summary>
+        /// Available component types to use when defining the indices accessor
+        /// </summary>
+        public enum IndexComponentTypeEnum { UNSIGNED_INT, UNSIGNED_BYTE, UNSIGNED_SHORT };
+
+        /// <summary>
+        /// Specifices which component type to use when defining the indices accessor
+        /// </summary>
+        public IndexComponentTypeEnum IndexComponentType { get; set; }

         /// <summary>
         /// List of indices for the mesh primitive
@@ -280,11 +290,28 @@
                 bufferViews.Add(bufferView);
                 int bufferviewIndex = bufferViews.Count() - 1;

-                glTFLoader.Schema.Accessor accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT, Indices.Count(), "Indices Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.SCALAR, null);
+                var indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT;
+
+                switch (IndexComponentType)
+                {
+                    case IndexComponentTypeEnum.UNSIGNED_BYTE:
+                        indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE;
+                        break;
+                    case IndexComponentTypeEnum.UNSIGNED_SHORT:
+                        indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT;
+                        break;
+                    case IndexComponentTypeEnum.UNSIGNED_INT:
+                        indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT;
+                        break;
+                    default:
+                        throw new Exception("Unrecognized Index Component Type Enum " + IndexComponentType);
+                }
+
+                glTFLoader.Schema.Accessor accessor = CreateAccessor(bufferviewIndex, 0, indexComponentType, Indices.Count(), "Indices Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.SCALAR, null);
                 accessors.Add(accessor);
-                foreach(var indice in Indices)
-                {
-                    geometryData.Writer.Write((uint)indice);
+                foreach(var index in Indices)
+                {
+                    geometryData.Writer.Write((uint)index);
                 }
                 mPrimitive.Indices = accessors.Count() - 1;
             }


Interface tweakery

Interface tweakery

--- Source/Services/InputService.cs
+++ Source/Services/InputService.cs
@@ -98,10 +98,14 @@
         }

         public void Replace (IInputHandler handler) {
+            Flush();
+            Push(handler);
+        }
+
+        public void Flush () {
             while (_handlers.Count > 0) {
                 Pop();
             }
-            Push(handler);
         }

         #endregion


Ignore more whitespace.

Ignore more whitespace.

--- ArkeOS.Tools.KohlCompiler/Program.cs
+++ ArkeOS.Tools.KohlCompiler/Program.cs
@@ -85,10 +85,10 @@
                     case '%': this.Add(TokenType.Percent, c); break;
                     case '(': this.Add(TokenType.OpenParenthesis, c); break;
                     case ')': this.Add(TokenType.CloseParenthesis, c); break;
-                    case ' ': break;
                     default:
                         if (char.IsNumber(c)) this.Add(TokenType.Number, this.ReadString(c, char.IsDigit));
                         else if (char.IsLetter(c)) this.Add(TokenType.String, this.ReadString(c, char.IsLetter));
+                        else if (char.IsWhiteSpace(c)) continue;
                         else throw new InvalidOperationException($"Unexpected '{c}'");

                         break;


Fix build

Fix build

--- Rassoodock.DifferenceEngine.SqlServer.Tests.Unit/SqlServerColumnAdditionDifferentiationStrategyTests.cs
+++ Rassoodock.DifferenceEngine.SqlServer.Tests.Unit/SqlServerColumnAdditionDifferentiationStrategyTests.cs
@@ -1,7 +1,7 @@
 using System;
 using Xunit;
 using Rassoodock.SqlServer.Models.Domain;
-using Rassoodock.DifferenceEngine.SqlServer.SqlServerTableStrategies;
+using Rassoodock.DifferenceEngine.SqlServer.SqlServerStrategies;
 using Shouldly;

 namespace Rassoodock.DifferenceEngine.SqlServer.Tests.Unit


Unused constant removed.

Unused constant removed.

--- SimpleServiceLocator/SimpleInjector.Extensions.LifetimeScoping/SimpleInjectorLifetimeScopeExtensions.cs
+++ SimpleServiceLocator/SimpleInjector.Extensions.LifetimeScoping/SimpleInjectorLifetimeScopeExtensions.cs
@@ -37,10 +37,6 @@
     /// </summary>
     public static class SimpleInjectorLifetimeScopeExtensions
     {
-        private const string LifetimeScopingIsNotEnabledExceptionMessage =
-            "To enable lifetime scoping, please make sure the EnableLifetimeScoping extension method is " +
-            "called during the configuration of the container.";
-
         /// <summary>
         /// Begins a new lifetime scope for the given <paramref name="container"/>.
         /// Services, registered with <b>RegisterLifetimeScope</b>, that are requested within the same thread


Add !{0} transmit 3.582 Mhz to translated morse.

--- TwitchPlaysAssembly/Src/ComponentSolvers/Modded/TranslatedModules/TranslatedMorseCodeComponentSolver.cs
+++ TwitchPlaysAssembly/Src/ComponentSolvers/Modded/TranslatedModules/TranslatedMorseCodeComponentSolver.cs
@@ -14,7 +14,7 @@
 		_upButton = (MonoBehaviour)_upButtonField.GetValue(_component);
 		_downButton = (MonoBehaviour)_downButtonField.GetValue(_component);
 		_transmitButton = (MonoBehaviour)_transmitButtonField.GetValue(_component);
-		modInfo = ComponentSolverFactory.GetModuleInfo(GetModuleType(), "!{0} transmit 3.573, !{0} trans 573, !{0} tx 573 [transmit frequency 3.573]");
+		modInfo = ComponentSolverFactory.GetModuleInfo(GetModuleType(), "!{0} transmit 3.573, !{0} trans 573, !{0} transmit 3.573 MHz, !{0} tx 573 [transmit frequency 3.573]");

 		if (bombCommander != null)
 		{
@@ -33,7 +33,7 @@

 	protected internal override IEnumerator RespondToCommandInternal(string inputCommand)
 	{
-		if (!inputCommand.Trim().RegexMatch(out Match match, "^(?:tx|trans(?:mit)?|submit|xmit) (?:3.)?(5[0-9][25]|600)$")
+		if (!inputCommand.Trim().RegexMatch(out Match match, "^(?:tx|trans(?:mit)?|submit|xmit) (?:3.)?(5[0-9][25]|600)( ?mhz)?$")
 				|| !int.TryParse(match.Groups[1].Value, out int targetFrequency)
 				|| !Frequencies.Contains(targetFrequency))
 		{


PUT method for SeekPlayback (#190)

PUT method for SeekPlayback (#190)

--- SpotifyAPI/Web/SpotifyWebAPI.cs
+++ SpotifyAPI/Web/SpotifyWebAPI.cs
@@ -1974,7 +1974,7 @@
         /// <returns></returns>
         public ErrorResponse SeekPlayback(int positionMs, string deviceId = "")
         {
-            return UploadData<ErrorResponse>(_builder.SeekPlayback(positionMs, deviceId), string.Empty);
+            return UploadData<ErrorResponse>(_builder.SeekPlayback(positionMs, deviceId), string.Empty, "PUT");
         }

         /// <summary>


Handle empty inventory properly.

Handle empty inventory properly.

--- SteamTrade/GenericInventory2.cs
+++ SteamTrade/GenericInventory2.cs
@@ -236,7 +236,10 @@

             foreach (var response in responses)
             {
-                var assets = ((JArray)response["assets"] ?? throw new TradeJsonException("无法获取库存信息。数据格式有误。", response.ToString())).Values<JObject>().ToArray();
+                var assetsJArray = (JArray) response["assets"];
+                if (assetsJArray == null)
+                    continue; // In RawDownloadAsync we already ensured success: 1. Therefore it must mean that the user has no item in this inventory.
+                var assets = assetsJArray.Values<JObject>().ToArray();
                 var length = assets.Length;
                 var descriptions = (JArray)response.Property("descriptions").Value;
                 for (int _i = 0; _i < length; _i++)
@@ -288,7 +291,7 @@
             {
                 jsonString = await steamWeb.FetchAsync($"https://steamcommunity.com/inventory/{steamId64}/{appId}/{contextId}?l=schinese&count={maxItemCount}" + (startAssetId != 0UL ? $"&start_assetid={startAssetId}" : ""), "GET");
             }
-            catch (WebException)
+            catch (WebException ex) when (ex.Response == null || ex.Response is HttpWebResponse httpWebResponse && httpWebResponse.StatusCode != HttpStatusCode.Forbidden && httpWebResponse.StatusCode != HttpStatusCode.NotFound)
             {
                 if (retryCount < 3)
                 {


Fixes #46: .NET 3.5 delegates are not covariant like their .NET 4.0 counterparts which caused compile-time binding to the wrong constructor method.

--- src/proj/EventStore.Wireup/NanoContainer.cs
+++ src/proj/EventStore.Wireup/NanoContainer.cs
@@ -11,7 +11,7 @@
 		public virtual ContainerRegistration Register<TService>(Func<NanoContainer, TService> resolve)
 			where TService : class
 		{
-			var registration = new ContainerRegistration(resolve);
+			var registration = new ContainerRegistration(c => (object)resolve(c));
 			this.registrations[typeof(TService)] = registration;
 			return registration;
 		}
@@ -61,9 +61,13 @@
 		}
 		public virtual object Resolve(NanoContainer container)
 		{
-			return this.instancePerCall
-				? this.resolve(container)
-				: (this.instance ?? (this.instance = this.resolve(container)));
+			if (this.instancePerCall)
+				return this.resolve(container);
+
+			if (this.instance == null)
+				this.instance = this.resolve(container);
+
+			return this.instance;
 		}
 	}
 }


1.5.0 release

1.5.0 release

--- TestSygiclog/ValidateLogFile.cs
+++ TestSygiclog/ValidateLogFile.cs
@@ -1,4 +1,9 @@
-using System;
+//-----------------------------------------------------------------------
+// <copyright file="SygicTravelbookLog.cs" company="PLJ">
+// Copyright (C) 2014, Paul Janson, LGPL 2.1
+// </copyright>
+//-----------------------------------------------------------------------
+using System;
 using System.Globalization; // Culture
 using System.IO; // File Path

@@ -47,7 +52,7 @@
         /// <summary>
         /// Contains the start time Description string
         /// </summary>
-        private readonly string startTimeDescriptionString;
+        private readonly string startTimeDescription;

         /* Get first track point data:
         >>>>  longitude	altitude	elevation	time	speed
@@ -126,7 +131,7 @@
                                 // startimeDescription YYMMDD_HHMMSS_OOO p[125|7D]	[140922_051142_120]
                                 string scutoff = readline.Substring(40);
                                 int idx = scutoff.IndexOf('[');
-                                this.startTimeDescriptionString = scutoff.Substring(idx);
+                                this.startTimeDescription = scutoff.Substring(idx);

                             }
                             else if (readline.StartsWith(">>>>  longitude	altitude", StringComparison.Ordinal))
@@ -245,9 +250,9 @@
         /// <summary>
         /// Gets the found startimeDescription
         /// </summary>
-        public string StartTimeDescriptionString
-        {
-            get { return this.startTimeDescriptionString; }
+        public string StartTimeDescription
+        {
+            get { return this.startTimeDescription; }
         }

         //----Track Point 1 data-----------------------------------------


adjusted test for coreclr to not expect private properties to be serialized

--- test/Aqua.Tests/Dynamic/DynamicObject/When_converting_to_serializable_object_with_private_properties.cs
+++ test/Aqua.Tests/Dynamic/DynamicObject/When_converting_to_serializable_object_with_private_properties.cs
@@ -48,17 +48,38 @@
             obj.Int32Value.ShouldBe(Int32Value);
         }

+#if NET
+
         [Fact]
-        public void Should_have_the_double_property_set()
+        public void Should_have_the_private_double_property_set()
         {
             GetPropertyValue("DoubleValue").ShouldBe(DoubleValue);
         }

         [Fact]
-        public void Should_have_the_string_property_set()
+        public void Should_have_the_private_string_property_set()
         {
             GetPropertyValue("StringValue").ShouldBe(StringValue);
         }
+
+#endif
+
+
+#if CORECLR
+
+        [Fact]
+        public void Should_not_have_the_private_double_property_set()
+        {
+            GetPropertyValue("DoubleValue").ShouldBe(default(double));
+        }
+
+        [Fact]
+        public void Should_not_have_the_private_string_property_set()
+        {
+            GetPropertyValue("StringValue").ShouldBeNull();
+        }
+
+#endif

         private object GetPropertyValue(string propertyName)
         {


add missing user id field

add missing user id field


might fix load level lock

might fix load level lock

--- Assets/Demo/Scripts/UI/GameScreen.cs
+++ Assets/Demo/Scripts/UI/GameScreen.cs
@@ -8,16 +8,19 @@
     public Button selectedGame;
     private AudioSource aSource;
     public AudioClip levelMusic;
-
+    bool allowLevelLoad = true;
 	void OnEnable() {
-        selectedGame.Select();
+        selectedGame.Select();
+        allowLevelLoad = true;
 	}

     public void LoadScene(string sceneName)
     {
-        SceneManager.LoadScene(sceneName);
-        Invoke("PlayLevelMusic", 1);
-
+        if (allowLevelLoad) {
+            allowLevelLoad = false;
+            SceneManager.LoadScene(sceneName);
+            Invoke("PlayLevelMusic", 1);
+        }
     }
 	// Update is called once per frame
 	void Update () {


Finished Citizen reaction to a robber

Finished Citizen reaction to a robber

--- Assets/Scripts/Characters/Citizen.cs
+++ Assets/Scripts/Characters/Citizen.cs
@@ -52,6 +52,7 @@
 			{
 				var robber = GameManager.singleton.GetClosest(CharacterType.ROBBER, this);
 				ForceAction(new Seek(robber, 0.5f));
+				QueueAction(new Fight(robber.GetComponent<Robber>(), 5.0f + (aggressiveness - 0.75f) * 60));
 			}
 		}
 	}


Perform Error Correction when multiple fast updates throw our list out of whack

--- Assets/scripts/AbstractPooledList.cs
+++ Assets/scripts/AbstractPooledList.cs
@@ -64,11 +64,10 @@

         public Vector2 CellSize;
         public Vector2 Padding;
+        public int BufferedRows;
         public int columns;
-        public int BufferedRows;
-
-        protected List<List<PoolEmptyObject>> Empties = new List<List<PoolEmptyObject>>();
-
+
+        protected readonly List<List<PoolEmptyObject>> Empties = new List<List<PoolEmptyObject>>();
         protected readonly Stack<T> Pool = new Stack<T>();
         protected readonly List<T> InUse = new List<T>();

@@ -78,8 +77,8 @@
         //TODO: Allow for horizontal expanding lists!

         private int rows { get { return Empties.Count; } }
-        private bool doNotUpdate = false;
-        private int itemCt = 0;
+        private bool doNotUpdate;
+        private int itemCt;

         private float _width = -1f;
         private float width
@@ -132,18 +131,6 @@
         protected virtual void Awake()
         {
             //TODO: Calculate rows/columns?
-
-            //add a listener to scrollbar on value changed
-            //when that updates, we can check what is visible!
-            //we need a list of active items (or rather, a start and end index for what is active)
-            //In the vertical only, we have a start row and end row to know what is active
-            //  for horizontal, we have start col, end col
-
-            //when an update happens, we need to know what should be active, and if that has changed, we should make some inactive (and return to pool)
-            //      and then activate and add an item from pool to anything that is becoming active
-
-
-            //viewable rows:

             if (Prepopulate)
             {
@@ -188,7 +175,9 @@
                 ScrollRect == null)
                 return;

+
             Vector2 newActiveIndices = CalculateActiveIndices(px);
+            bool performCorrection = false;

             //Special case for first
             if (ActiveIndices == Vector2.zero)
@@ -197,7 +186,6 @@
                 {
                     ActivateRow(i,true);
                 }
-                ActiveIndices = newActiveIndices;
             }
             else if (ActiveIndices != newActiveIndices) //If they're the same, ignore!
             {
@@ -207,7 +195,7 @@
                  * We need to activate [6,7]
                  * */
                 Vector2 diff = newActiveIndices - ActiveIndices;
-                Debug.Log("diff: " + diff);
+//                Debug.Log("diff: " + diff + " active: " + ActiveIndices + " new: " + newActiveIndices + " pool: " + Pool.Count + " inuse: " + InUse.Count);

                 //positive is iterating higher through the rows

@@ -216,35 +204,64 @@
                 //if y > 0, activate where newActive.y >= row > Active.y
                 //if y < 0, deactivate where Active.y <= row < newActive.y  //equal to because we are disabling the old active up until the new active

+
                 //Deactivate first
                 if (diff.x > 0)
                 {
                     for (int i = (int)ActiveIndices.x; i < newActiveIndices.x; i++)
-                        ActivateRow(i, false);
+                        performCorrection = performCorrection || ActivateRow(i, false);
                 }
                 if (diff.y < 0)
                 {
                     for (int i = (int)ActiveIndices.y; i > newActiveIndices.y; i--)
-                        ActivateRow(i, false);
+                        performCorrection = performCorrection || ActivateRow(i, false);
                 }

                 //Then activate
                 if (diff.x < 0)
                 {
                     for (int i = (int)newActiveIndices.x; i < ActiveIndices.x; i++)
-                        ActivateRow(i, true);
+                        performCorrection = performCorrection || ActivateRow(i, true);
                 }
                 if (diff.y > 0)
                 {
                     for (int i = (int)ActiveIndices.y + 1; i <= newActiveIndices.y; i++)
-                        ActivateRow(i, true);
-                }
-
-                ActiveIndices = newActiveIndices;
-            }
-        }
-
-        private void ActivateRow(int row, bool activate)
+                        performCorrection = performCorrection || ActivateRow(i, true);
+                }
+
+            }
+            ActiveIndices = newActiveIndices;
+
+                if (performCorrection)
+                    CorrectErrors();
+        }
+
+        /// <summary>
+        /// Perform Error Correction
+        /// </summary>
+        private void CorrectErrors()
+        {
+            //We need to iterate each row and enable or disable accordingly. Sadly.
+
+            int incorrect = 0;
+            for (int i = 0; i < Empties.Count; i++)
+            {
+                //I need to know if it was necessary.
+                bool correct = ActivateRow(i, RowIsActive(i));
+                if (!correct)
+                    incorrect++;
+            }
+
+            Debug.LogError("Correction was necessary for " + incorrect + " rows");
+        }
+
+        /// <summary>
+        ///
+        /// </summary>
+        /// <param name="row"></param>
+        /// <param name="activate"></param>
+        /// <returns>Whether to preform a full update upon a failure</returns>
+        private bool ActivateRow(int row, bool activate)
         {
             List<PoolEmptyObject> rowToAdjust = Empties[row];
             foreach (var item in rowToAdjust)
@@ -253,7 +270,7 @@
                 {
                     if (item.item != null)
                     {
-                        Debug.LogError("wtfux row : " + row + " already has one!");
+                        return true;
                     }
                     T poolItem = GetObjectFromPool(item.data);
                     item.item = poolItem;
@@ -261,10 +278,15 @@
                 }
                 else
                 {
+                    if (item.item == null)
+                    {
+                        return true;
+                    }
                     ReturnObjectToPool((T) item.item);
                     item.item = null;
                 }
             }
+            return false;
         }

         //TODO: This assumes vertical scrolling only!
@@ -278,14 +300,10 @@
             float lowestPosVisible = pos;
             float highestPosVisible = pos + viewableArea.y;

-            int min = ViewableRowAtPos(lowestPosVisible);
-            int max = ViewableRowAtPos(highestPosVisible);
-
-//            int min = Mathf.Max(ViewableRowAtPos(lowestPosVisible) - BufferedRows, 0);
-//            int max = Mathf.Min(ViewableRowAtPos(highestPosVisible) + BufferedRows, rows);
-
-
-            Debug.Log("Calculated active indices as: " + min + " , " + max);
+            int min = Mathf.Max(ViewableRowAtPos(lowestPosVisible) - BufferedRows, 0);
+            int max = Mathf.Min(ViewableRowAtPos(highestPosVisible) + BufferedRows, rows-1);
+
+
             return new Vector2(min, max);
         }

@@ -300,7 +318,6 @@
             foreach (var item in data)
                 AddData(item);
             doNotUpdate = false;
-//            ActiveIndices = CalculateActiveIndices(Scrollbar.value);
             Scrollbar.onValueChanged.Invoke(1);
         }

@@ -346,6 +363,7 @@
             {
                 //Use from the pool
                 retv = Pool.Pop();
+                InUse.Add(retv);
             }
             else if (Pool.Count + InUse.Count < PoolSize)
             {
@@ -354,7 +372,7 @@
             }
             else if (PoolSize > 0)
             {
-                Debug.Log("Exceed Pool Limit: " + PoolSize);
+                throw new Exception("Pool Limit Exceeded. PoolSize: " + PoolSize);
             }

             retv.SetData((U) dataItem);


Fix tests

Fix tests

--- Battery-Commander.Tests/APFTTests.cs
+++ Battery-Commander.Tests/APFTTests.cs
@@ -30,7 +30,7 @@
         [Fact]
         public void Walker_Score_2()
         {
-            // 25 y/o Male Walker has 20.5 minutes to pass
+            // 25 y/o Male Walker has 34.5 minutes to pass

             var score = new APFT
             {
@@ -40,10 +40,29 @@
                     DateOfBirth = DateTime.Today.AddYears(-25)
                 },
                 AerobicEvent = Event.Walk,
-                Run = TimeSpan.FromMinutes(21)
+                Run = TimeSpan.FromMinutes(35)
             };

             Assert.Equal(0, score.RunScore);
+        }
+
+        [Fact]
+        public void Walker_Score_3()
+        {
+            // 29 y/o Fe,ale Walker has 38 minutes to pass
+
+            var score = new APFT
+            {
+                Soldier = new Soldier
+                {
+                    Gender = Gender.Male,
+                    DateOfBirth = DateTime.Today.AddYears(-29)
+                },
+                AerobicEvent = Event.Walk,
+                Run = TimeSpan.FromMinutes(30.25)
+            };
+
+            Assert.Equal(60, score.RunScore);
         }

         [Fact]


Render level walls (0x64) as grey lines

Render level walls (0x64) as grey lines

--- BlastCorpsEditor/BlastCorpsViewer.cs
+++ BlastCorpsEditor/BlastCorpsViewer.cs
@@ -239,6 +239,7 @@
          selectedPen.EndCap = LineCap.ArrowAnchor;
          double angle;
          int x, y, dx, dy;
+         Point[] triPoints = new Point[4];
          if (level != null)
          {
             e.Graphics.FillRectangle(new SolidBrush(Color.White), offX, offY, Width - 2*offX, Height - 2*offY);
@@ -294,6 +295,22 @@
             foreach (Object60 obj in level.object60s)
             {
                e.Graphics.FillRectangle(Brushes.SeaGreen, pixelX(obj.x) - 2, pixelY(obj.z) - 2, 3, 3);
+            }
+
+            foreach (WallGroup group in level.wallGroups)
+            {
+               foreach (Wall wall in group.walls)
+               {
+                  triPoints[0].X = pixelX(wall.x1);
+                  triPoints[0].Y = pixelY(wall.z1);
+                  triPoints[1].X = pixelX(wall.x2);
+                  triPoints[1].Y = pixelY(wall.z2);
+                  triPoints[2].X = pixelX(wall.x3);
+                  triPoints[2].Y = pixelY(wall.z3);
+                  triPoints[3].X = pixelX(wall.x1);
+                  triPoints[3].Y = pixelY(wall.z1);
+                  e.Graphics.DrawLines(Pens.Gray, triPoints);
+               }
             }

             // missile carrier
@@ -310,44 +327,44 @@
             {
                e.Graphics.FillRectangle(ammoBrush, pixelX(ammo.x) - 4, pixelY(ammo.z) - 4, 7, 7);
             }
-            Point[] points = new Point[4];
+
             foreach (Collision24 zone in level.collision24)
             {
-               points[0].X = pixelX(zone.x1);
-               points[0].Y = pixelY(zone.z1);
-               points[1].X = pixelX(zone.x2);
-               points[1].Y = pixelY(zone.z2);
-               points[2].X = pixelX(zone.x3);
-               points[2].Y = pixelY(zone.z3);
-               points[3].X = pixelX(zone.x1);
-               points[3].Y = pixelY(zone.z1);
-               e.Graphics.DrawLines(zonePen, points);
+               triPoints[0].X = pixelX(zone.x1);
+               triPoints[0].Y = pixelY(zone.z1);
+               triPoints[1].X = pixelX(zone.x2);
+               triPoints[1].Y = pixelY(zone.z2);
+               triPoints[2].X = pixelX(zone.x3);
+               triPoints[2].Y = pixelY(zone.z3);
+               triPoints[3].X = pixelX(zone.x1);
+               triPoints[3].Y = pixelY(zone.z1);
+               e.Graphics.DrawLines(zonePen, triPoints);
             }
             foreach (TrainPlatform platform in level.trainPlatforms)
             {
                foreach (TrainPlatform.StoppingTriangle zone in platform.stoppingZone)
                {
-                  points[0].X = pixelX(zone.x1);
-                  points[0].Y = pixelY(zone.z1);
-                  points[1].X = pixelX(zone.x2);
-                  points[1].Y = pixelY(zone.z2);
-                  points[2].X = pixelX(zone.x3);
-                  points[2].Y = pixelY(zone.z3);
-                  points[3].X = pixelX(zone.x1);
-                  points[3].Y = pixelY(zone.z1);
-                  e.Graphics.DrawLines(stoppingPen, points);
+                  triPoints[0].X = pixelX(zone.x1);
+                  triPoints[0].Y = pixelY(zone.z1);
+                  triPoints[1].X = pixelX(zone.x2);
+                  triPoints[1].Y = pixelY(zone.z2);
+                  triPoints[2].X = pixelX(zone.x3);
+                  triPoints[2].Y = pixelY(zone.z3);
+                  triPoints[3].X = pixelX(zone.x1);
+                  triPoints[3].Y = pixelY(zone.z1);
+                  e.Graphics.DrawLines(stoppingPen, triPoints);
                }
                foreach (TrainPlatform.PlatformCollision collision in platform.collision)
                {
-                  points[0].X = pixelX(collision.x1);
-                  points[0].Y = pixelY(collision.z1);
-                  points[1].X = pixelX(collision.x2);
-                  points[1].Y = pixelY(collision.z2);
-                  points[2].X = pixelX(collision.x3);
-                  points[2].Y = pixelY(collision.z3);
-                  points[3].X = pixelX(collision.x1);
-                  points[3].Y = pixelY(collision.z1);
-                  e.Graphics.DrawLines(platformPen, points);
+                  triPoints[0].X = pixelX(collision.x1);
+                  triPoints[0].Y = pixelY(collision.z1);
+                  triPoints[1].X = pixelX(collision.x2);
+                  triPoints[1].Y = pixelY(collision.z2);
+                  triPoints[2].X = pixelX(collision.x3);
+                  triPoints[2].Y = pixelY(collision.z3);
+                  triPoints[3].X = pixelX(collision.x1);
+                  triPoints[3].Y = pixelY(collision.z1);
+                  e.Graphics.DrawLines(platformPen, triPoints);
                }
             }
             foreach (CommPoint comm in level.commPoints)


Move CaptureMoveNumber call to the next symbol yield iteration.

--- Sandra.Chess/Pgn/PgnParser.cs
+++ Sandra.Chess/Pgn/PgnParser.cs
@@ -253,7 +253,6 @@
         private void YieldMoveNumber(ReadOnlySpanList<GreenWithTriviaSyntax> leadingFloatItems)
         {
             MoveNumber = new GreenWithPlyFloatItemsSyntax(leadingFloatItems, symbolBeingYielded);
-            CaptureMoveNumber();
         }

         private void YieldPeriod()
@@ -470,6 +469,7 @@
         {
             ReadOnlySpanList<GreenWithTriviaSyntax> floatItems;

+            CaptureMoveNumber();
             switch (symbolBeingYielded.ContentNode.SymbolType)
             {
                 case PgnSymbolType.BracketOpen:
@@ -596,6 +596,7 @@
             else
             {
                 var trailingFloatItems = CaptureFloatItems();
+                CaptureMoveNumber();
                 CaptureMove();
                 CaptureNags();
                 AddFloatItems(trailingFloatItems);


Ignore tests for DirectoryModuleCatalog on buildserver.

--- Source/Core/CrossApplication.Core.Net.Common.UnitTest/_Modules/_DirectoryModuleCatalog/GetModuleInfos.cs
+++ Source/Core/CrossApplication.Core.Net.Common.UnitTest/_Modules/_DirectoryModuleCatalog/GetModuleInfos.cs
@@ -6,6 +6,7 @@

 namespace CrossApplication.Core.Net.Common.UnitTest._Modules._DirectoryModuleCatalog
 {
+    [Trait("Category", "IgnoreOnBuildserver")]
     public class GetModuleInfos
     {
         public GetModuleInfos()
@@ -22,7 +23,7 @@
         private readonly string _moduleAssemblyName = "CrossApplication.Core.Net.Common.UnitTest.dll";
         private readonly string _moduleDirectoryPath = "./Modules";

-        [Fact, Trait("Category", "IgnoreOnBuildserver")]
+        [Fact]
         public async void Usage()
         {
             var catalog = new DirectoryModuleCatalog("./Modules");


clear

clear

--- CSharpGL/Utilities/AssemblyHelper.cs
+++ CSharpGL/Utilities/AssemblyHelper.cs
@@ -24,9 +24,8 @@
             {
                 var list = from item in asm.GetTypes()
                            where baseType.IsAssignableFrom(item) && (!item.IsAbstract)
-                           orderby item.FullName
                            select item;
-                foreach (var item in list)
+                foreach (var item in list.Distinct())
                 {
                     result.Add(item);
                 }


TestKindGet werd gebruikt in een slechte test.  Aangezien die test nu verbeterd is, is deze method niet meer nodig.

git-svn-id: 0ffdc289f568b1e7493e560395a00d06174c8a92@515 99b415e2-69d1-4072-8d93-0ed3a15484ab

--- Solution/Cg2.Data/LedenDao.cs
+++ Solution/Cg2.Data/LedenDao.cs
@@ -158,22 +158,5 @@
                 return lid;
             }
         }
-
-        /// <summary>
-        /// Geeft een kind terug waarop getest kan worden.
-        /// </summary>
-        /// <returns>proefkonijn</returns>
-        public Kind TestKindGet()
-        {
-            using (ChiroGroepEntities db = new ChiroGroepEntities())
-            {
-                db.Lid.MergeOption = MergeOption.NoTracking;
-
-                return (
-                        from k in db.Lid.OfType<Kind>().Include("GelieerdePersoon").Include("GroepsWerkJaar").Include("AfdelingsJaar")
-                        select k).FirstOrDefault();
-            }
-        }
-
     }
 }


#138: Use this new CefSharp.BrowserSubprocess.exe now that we can.

--- CefSharp.Example/ExamplePresenter.cs
+++ CefSharp.Example/ExamplePresenter.cs
@@ -9,7 +9,8 @@
         {
             var settings = new CefSettings
             {
-                RemoteDebuggingPort = 8088
+                RemoteDebuggingPort = 8088,
+                BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe"
             };

             if (!Cef.Initialize(settings))


WPF - IME change background colour to transparent

Follow on to #3143

--- CefSharp.Wpf/Internals/IMEHandler.cs
+++ CefSharp.Wpf/Internals/IMEHandler.cs
@@ -17,8 +17,8 @@
     {
         // Black SkColor value for underline.
         public static uint ColorUNDERLINE = 0xFF000000;
-        // White SkColor value for background.
-        public static uint ColorBKCOLOR = 0xFFFFFFFF;
+        // Transparent SkColor value for background.
+        public static uint ColorBKCOLOR = 0x00000000;

         public static bool GetResult(IntPtr hwnd, uint lParam, out string text)
         {


Fix AzurePipelines to replace dots in stage name with underscore

--- source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs
+++ source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs
@@ -124,7 +124,7 @@

             return new AzurePipelinesStage
                    {
-                       Name = image.GetValue().Replace("-", "_"),
+                       Name = image.GetValue().Replace("-", "_").Replace(".", "_"),
                        DisplayName = image.GetValue(),
                        Image = image,
                        Dependencies = new AzurePipelinesStage[0],


:loud_noise: adding more logging to startup routines

--- source/TempDb/PeanutButter.TempDb.MySql.Base/TempDbMySqlBase.cs
+++ source/TempDb/PeanutButter.TempDb.MySql.Base/TempDbMySqlBase.cs
@@ -565,10 +565,12 @@
             }
             catch (TryAnotherPortException)
             {
+                Log($"Looks like a port conflict at {Port}. Will try another port.");
                 Retry();
                 return;
             }

+            Log("MySql appears to be up an running! Setting up an auto-restarter in case it falls over.");
             StartProcessWatcher();

             void Retry()
@@ -672,6 +674,7 @@
             {
                 if (_serverProcess.HasExited)
                 {
+                    Log("Server process has exited");
                     break;
                 }

@@ -751,15 +754,18 @@
             {
                 try
                 {
+                    Log($"Attempt to connect on {Port}...");
                     OpenConnection()?.Dispose();
-
+                    Log("Connection established!");
                     return true;
                 }
                 catch
                 {
-                    Thread.Sleep(100);
-                }
-            }
+                    Log($"Unable to connect. Will continue to try until {cutoff}");
+                    Thread.Sleep(500);
+                }
+            }
+            Log($"Giving up on connecting to mysql on port {Port}");
             return false;
         }


plug Console.ReadKey, Console.Read

plug Console.ReadKey, Console.Read

--- source2/Kernel/System/Cosmos.System.Plugs.System/ConsoleImpl.cs
+++ source2/Kernel/System/Cosmos.System.Plugs.System/ConsoleImpl.cs
@@ -222,10 +222,9 @@
         #endregion

         public static int Read() {
-            //TODO - after this and kb, remove asm ref to Hardware2
-            //return Cosmos.Hardware2.Keyboard.ReadChar();
-            return 0;
-        }
+			// TODO special cases, if needed, that returns -1
+            return Hardware.Global.Keyboard.ReadChar();
+		}

         public static string ReadLine() {
             List<char> chars = new List<char>(32);
@@ -304,5 +303,22 @@
             char[] final = chars.ToArray();
             return new string(final);
         }
+
+		public static ConsoleKeyInfo ReadKey(bool intercept)
+		{
+			var key = Cosmos.Hardware.Global.Keyboard.ReadMapping();
+			var returnValue = new ConsoleKeyInfo(
+				key.Value,
+				key.Key,
+				Cosmos.Hardware.Global.Keyboard.ShiftPressed,
+				Cosmos.Hardware.Global.Keyboard.AltPressed,
+				Cosmos.Hardware.Global.Keyboard.CtrlPressed);
+
+			if (false == intercept)
+			{
+				Write(returnValue.KeyChar);
+			}
+			return returnValue;
+		}
     }
-}
+}


Fix references in comments

Fix references in comments

--- src/Avalonia.Controls/Calendar/CalendarDatePicker.Properties.cs
+++ src/Avalonia.Controls/Calendar/CalendarDatePicker.Properties.cs
@@ -131,95 +131,94 @@
         /// Gets or sets the date to display.
         /// </summary>
         /// <value>
-        /// The date to display. The default
-        /// <see cref="P:System.DateTime.Today" />.
+        /// The date to display. The default is <see cref="DateTime.Today" />.
+        /// </value>
+        /// <exception cref="System.ArgumentOutOfRangeException">
+        /// The specified date is not in the range defined by
+        /// <see cref="CalendarDatePicker.DisplayDateStart" />
+        /// and
+        /// <see cref="CalendarDatePicker.DisplayDateEnd" />.
+        /// </exception>
+        public DateTime DisplayDate
+        {
+            get => _displayDate;
+            set => SetAndRaise(DisplayDateProperty, ref _displayDate, value);
+        }
+
+        /// <summary>
+        /// Gets or sets the first date to be displayed.
+        /// </summary>
+        /// <value>The first date to display.</value>
+        public DateTime? DisplayDateStart
+        {
+            get => _displayDateStart;
+            set => SetAndRaise(DisplayDateStartProperty, ref _displayDateStart, value);
+        }
+
+        /// <summary>
+        /// Gets or sets the last date to be displayed.
+        /// </summary>
+        /// <value>The last date to display.</value>
+        public DateTime? DisplayDateEnd
+        {
+            get => _displayDateEnd;
+            set => SetAndRaise(DisplayDateEndProperty, ref _displayDateEnd, value);
+        }
+
+        /// <summary>
+        /// Gets or sets the day that is considered the beginning of the week.
+        /// </summary>
+        /// <value>
+        /// A <see cref="T:System.DayOfWeek" /> representing the beginning of
+        /// the week. The default is <see cref="F:System.DayOfWeek.Sunday" />.
+        /// </value>
+        public DayOfWeek FirstDayOfWeek
+        {
+            get => GetValue(FirstDayOfWeekProperty);
+            set => SetValue(FirstDayOfWeekProperty, value);
+        }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the drop-down
+        /// <see cref="T:Avalonia.Controls.Calendar" /> is open or closed.
+        /// </summary>
+        /// <value>
+        /// True if the <see cref="T:Avalonia.Controls.Calendar" /> is
+        /// open; otherwise, false. The default is false.
+        /// </value>
+        public bool IsDropDownOpen
+        {
+            get => _isDropDownOpen;
+            set => SetAndRaise(IsDropDownOpenProperty, ref _isDropDownOpen, value);
+        }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the current date will be
+        /// highlighted.
+        /// </summary>
+        /// <value>
+        /// True if the current date is highlighted; otherwise, false. The
+        /// default is true.
+        /// </value>
+        public bool IsTodayHighlighted
+        {
+            get => GetValue(IsTodayHighlightedProperty);
+            set => SetValue(IsTodayHighlightedProperty, value);
+        }
+
+        /// <summary>
+        /// Gets or sets the currently selected date.
+        /// </summary>
+        /// <value>
+        /// The date currently selected. The default is null.
         /// </value>
         /// <exception cref="T:System.ArgumentOutOfRangeException">
         /// The specified date is not in the range defined by
-        /// <see cref="P:Avalonia.Controls.CalendarDatePicker.DisplayDateStart" />
+        /// <see cref="CalendarDatePicker.DisplayDateStart" />
         /// and
-        /// <see cref="P:Avalonia.Controls.CalendarDatePicker.DisplayDateEnd" />.
-        /// </exception>
-        public DateTime DisplayDate
-        {
-            get => _displayDate;
-            set => SetAndRaise(DisplayDateProperty, ref _displayDate, value);
-        }
-
-        /// <summary>
-        /// Gets or sets the first date to be displayed.
-        /// </summary>
-        /// <value>The first date to display.</value>
-        public DateTime? DisplayDateStart
-        {
-            get => _displayDateStart;
-            set => SetAndRaise(DisplayDateStartProperty, ref _displayDateStart, value);
-        }
-
-        /// <summary>
-        /// Gets or sets the last date to be displayed.
-        /// </summary>
-        /// <value>The last date to display.</value>
-        public DateTime? DisplayDateEnd
-        {
-            get => _displayDateEnd;
-            set => SetAndRaise(DisplayDateEndProperty, ref _displayDateEnd, value);
-        }
-
-        /// <summary>
-        /// Gets or sets the day that is considered the beginning of the week.
-        /// </summary>
-        /// <value>
-        /// A <see cref="T:System.DayOfWeek" /> representing the beginning of
-        /// the week. The default is <see cref="F:System.DayOfWeek.Sunday" />.
-        /// </value>
-        public DayOfWeek FirstDayOfWeek
-        {
-            get => GetValue(FirstDayOfWeekProperty);
-            set => SetValue(FirstDayOfWeekProperty, value);
-        }
-
-        /// <summary>
-        /// Gets or sets a value indicating whether the drop-down
-        /// <see cref="T:Avalonia.Controls.Calendar" /> is open or closed.
-        /// </summary>
-        /// <value>
-        /// True if the <see cref="T:Avalonia.Controls.Calendar" /> is
-        /// open; otherwise, false. The default is false.
-        /// </value>
-        public bool IsDropDownOpen
-        {
-            get => _isDropDownOpen;
-            set => SetAndRaise(IsDropDownOpenProperty, ref _isDropDownOpen, value);
-        }
-
-        /// <summary>
-        /// Gets or sets a value indicating whether the current date will be
-        /// highlighted.
-        /// </summary>
-        /// <value>
-        /// True if the current date is highlighted; otherwise, false. The
-        /// default is true.
-        /// </value>
-        public bool IsTodayHighlighted
-        {
-            get => GetValue(IsTodayHighlightedProperty);
-            set => SetValue(IsTodayHighlightedProperty, value);
-        }
-
-        /// <summary>
-        /// Gets or sets the currently selected date.
-        /// </summary>
-        /// <value>
-        /// The date currently selected. The default is null.
-        /// </value>
-        /// <exception cref="T:System.ArgumentOutOfRangeException">
-        /// The specified date is not in the range defined by
-        /// <see cref="P:Avalonia.Controls.DatePicker.DisplayDateStart" />
-        /// and
-        /// <see cref="P:Avalonia.Controls.DatePicker.DisplayDateEnd" />,
+        /// <see cref="CalendarDatePicker.DisplayDateEnd" />,
         /// or the specified date is in the
-        /// <see cref="P:Avalonia.Controls.DatePicker.BlackoutDates" />
+        /// <see cref="CalendarDatePicker.BlackoutDates" />
         /// collection.
         /// </exception>
         public DateTime? SelectedDate
@@ -233,9 +232,9 @@
         /// </summary>
         /// <value>
         /// The format that is used to display the selected date. The default is
-        /// <see cref="F:Avalonia.Controls.DatePickerFormat.Short" />.
-        /// </value>
-        /// <exception cref="T:System.ArgumentOutOfRangeException">
+        /// <see cref="CalendarDatePickerFormat.Short" />.
+        /// </value>
+        /// <exception cref="ArgumentOutOfRangeException">
         /// An specified format is not valid.
         /// </exception>
         public CalendarDatePickerFormat SelectedDateFormat
@@ -251,18 +250,16 @@
         }

         /// <summary>
-        /// Gets or sets the text that is displayed by the
-        /// <see cref="T:Avalonia.Controls.DatePicker" />.
-        /// </summary>
-        /// <value>
-        /// The text displayed by the
-        /// <see cref="T:Avalonia.Controls.DatePicker" />.
-        /// </value>
-        /// <exception cref="T:System.FormatException">
+        /// Gets or sets the text that is displayed by the <see cref="CalendarDatePicker" />.
+        /// </summary>
+        /// <value>
+        /// The text displayed by the <see cref="CalendarDatePicker" />.
+        /// </value>
+        /// <exception cref="FormatException">
         /// The text entered cannot be parsed to a valid date, and the exception
         /// is not suppressed.
         /// </exception>
-        /// <exception cref="T:System.ArgumentOutOfRangeException">
+        /// <exception cref="ArgumentOutOfRangeException">
         /// The text entered parses to a date that is not selectable.
         /// </exception>
         public string? Text


Left this hanging.

Left this hanging.

--- src/BibleBot.Backend/Services/Providers/BibleGatewayProvider.cs
+++ src/BibleBot.Backend/Services/Providers/BibleGatewayProvider.cs
@@ -113,9 +113,9 @@
                 el.TextContent = $" {el.TextContent} ";
             }

-            string title = titlesEnabled ? System.String.Join(" / ", container.GetElementsByTagName("h3").Select(el => el.TextContent.Trim())) : null;
+            string title = titlesEnabled ? System.String.Join(" / ", container.GetElementsByTagName("h3").Select(el => el.TextContent.Trim())) : "";
             string text = System.String.Join("\n", container.GetElementsByTagName("p").Select(el => el.TextContent.Trim()));
-            string psalmTitle = titlesEnabled ? System.String.Join(" / ", container.GetElementsByClassName("psalm-title").Select(el => el.TextContent.Trim())) : null;
+            string psalmTitle = titlesEnabled ? System.String.Join(" / ", container.GetElementsByClassName("psalm-title").Select(el => el.TextContent.Trim())) : "";

             return new Verse { Reference = reference, Title = title, PsalmTitle = psalmTitle, Text = PurifyVerseText(text) };
         }


Removed duplicate GetFacetData(BoboIndexReader) and LoadFacetData(BoboIndexReader) declarations on IRuntimeFacetHandler.

--- src/BoboBrowse.Net/BoboBrowse.Net/Facets/RuntimeFacetHandler.cs
+++ src/BoboBrowse.Net/BoboBrowse.Net/Facets/RuntimeFacetHandler.cs
@@ -8,8 +8,6 @@

     public interface IRuntimeFacetHandler : IFacetHandler, IDisposable
     {
-        T GetFacetData<T>(BoboIndexReader reader);
-        void LoadFacetData(BoboIndexReader reader);
     }

     /// <summary>
@@ -41,20 +39,10 @@
             : base(name)
         { }

-        //public override D GetFacetData<D>(BoboIndexReader reader)
-        //{
-        //    return (D)reader.GetRuntimeFacetData(_name);
-        //}
-
         public override T GetFacetData<T>(BoboIndexReader reader)
         {
             return (T)reader.GetRuntimeFacetData(_name);
         }
-
-        //public override object GetFacetData(BoboIndexReader reader)
-        //{
-        //    return reader.GetRuntimeFacetData(_name);
-        //}

         public override void LoadFacetData(BoboIndexReader reader)
         {


StreamPositionLabel: Drop unnecessary redraws (bgo#647144)

UpdateLabel calls QueueResize, which causes an expose event anyway.

Signed-off-by: Gabriel Burt <ce11a5f747b579a775c140646376daaba8c3eb7d@gmail.com>

--- src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs
+++ src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs
@@ -202,7 +202,6 @@
             set {
                 buffering_progress = Math.Max (0.0, Math.Min (1.0, value));
                 UpdateLabel ();
-                QueueDraw ();
             }
         }

@@ -228,7 +227,6 @@
                 if (state != value) {
                     state = value;
                     UpdateLabel ();
-                    QueueDraw ();
                 }
             }
         }
@@ -239,7 +237,6 @@
                 if (is_live != value) {
                     is_live = value;
                     UpdateLabel ();
-                    QueueDraw ();
                 }
             }
         }


ReSharper review.

ReSharper review.

--- src/ExRam.Gremlinq.Core/Debugging/GroovyGremlinQueryDebugger.cs
+++ src/ExRam.Gremlinq.Core/Debugging/GroovyGremlinQueryDebugger.cs
@@ -118,15 +118,15 @@
                 }
             }

-            public GroovyWriter StartTraversal() => Identifier(_builder.Length == 0
+            private GroovyWriter StartTraversal() => Identifier(_builder.Length == 0
                 ? "g"
                 : "__");

-            public GroovyWriter Identifier(string identifier) => new(
+            private GroovyWriter Identifier(string identifier) => new(
                  _builder.Append(identifier),
                 true);

-            public GroovyWriter StartOperator(string operatorName)
+            private GroovyWriter StartOperator(string operatorName)
             {
                 var builder = _builder;

@@ -140,7 +140,7 @@
                     false);
             }

-            public GroovyWriter StartParameter(int parameterIndex)
+            private GroovyWriter StartParameter(int parameterIndex)
             {
                 var builder = _builder;

@@ -152,19 +152,19 @@
                     _hasIdentifier);
             }

-            public GroovyWriter WriteLambda(string lambda) => new(
+            private GroovyWriter WriteLambda(string lambda) => new(
                 _builder
                     .Append('{')
                     .Append(lambda)
                     .Append('}'),
                 _hasIdentifier);

-            public GroovyWriter EndOperator() => new(
+            private GroovyWriter EndOperator() => new(
                 _builder
                     .Append(')'),
                 true);

-            public GroovyWriter WriteQuoted(object value)
+            private GroovyWriter WriteQuoted(object value)
             {
 #if NET6_0_OR_GREATER
                 var handler = new StringBuilder.AppendInterpolatedStringHandler(2, 1, _builder);
@@ -185,7 +185,7 @@
 #endif
             }

-            public GroovyWriter Write(object value)
+            private GroovyWriter Write(object value)
             {
 #if NET6_0_OR_GREATER
                 var handler = new StringBuilder.AppendInterpolatedStringHandler(0, 1, _builder);


tidy DI registration

tidy DI registration

--- src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs
+++ src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs
@@ -16,25 +16,11 @@
         public static void RegisterAgentServices(this IServiceCollection services)
         {
             services.AddConfiguration();
-            services.AddLogging(b =>
-            {
-                b.AddConsole();
-                var appInsightsKey = b.Services.BuildServiceProvider().GetService<IOptions<ApplicationInsights>>().Value
-                    .InstrumentationKey;
-                b.AddApplicationInsights(appInsightsKey);
-            });
+            services.AddLoggingCustom();
             services.AddMediatR(typeof(Program).Assembly);
             services.AddHttpClient<AgentHttpClient>();
             services.AddSingleton<IFilterListsApiClient, FilterListsApiClient>();
-            services.AddSingleton<IGitHubClient>(s =>
-            {
-                var gitHubConfig = s.GetService<IOptions<GitHub>>();
-                var client = new GitHubClient(new ProductHeaderValue(gitHubConfig.Value.ProductHeaderValue))
-                {
-                    Credentials = new Credentials(gitHubConfig.Value.OauthToken)
-                };
-                return client;
-            });
+            services.AddGitHubClient();
             services.AddTransient<IListInfoRepository, ListInfoRepository>();
             services.AddTransient<IUrlRepository, UrlRepository>();
         }
@@ -52,5 +38,27 @@
             services.Configure<ConnectionStrings>(config.GetSection(nameof(ConnectionStrings)));
             services.Configure<GitHub>(config.GetSection(nameof(GitHub)));
         }
+
+        private static void AddLoggingCustom(this IServiceCollection services)
+        {
+            services.AddLogging(b =>
+            {
+                b.AddConsole();
+                var appInsightsConfig = b.Services.BuildServiceProvider().GetService<IOptions<ApplicationInsights>>();
+                b.AddApplicationInsights(appInsightsConfig.Value.InstrumentationKey);
+            });
+        }
+
+        private static void AddGitHubClient(this IServiceCollection services)
+        {
+            services.AddSingleton<IGitHubClient>(s =>
+            {
+                var gitHubConfig = s.GetService<IOptions<GitHub>>();
+                return new GitHubClient(new ProductHeaderValue(gitHubConfig.Value.ProductHeaderValue))
+                {
+                    Credentials = new Credentials(gitHubConfig.Value.OauthToken)
+                };
+            });
+        }
     }
 }


one day i will learn how versions work, derp

--- src/ChromeLogger/Properties/AssemblyInfo.cs
+++ src/ChromeLogger/Properties/AssemblyInfo.cs
@@ -11,5 +11,5 @@
 [assembly: AssemblyCulture("")]
 [assembly: ComVisible(false)]
 [assembly: Guid("b9d5103b-0d4c-45c2-8421-adc4e687f0b4")]
-[assembly: AssemblyVersion("0.0.1.*")]
-[assembly: AssemblyFileVersion("0.0.1.*")]
+[assembly: AssemblyVersion("0.1.*")]
+[assembly: AssemblyFileVersion("0.1.*")]