Changing method name in .NET test

Changing method name in .NET test

--- dotnet/test/common/Interactions/DragAndDropTest.cs
+++ dotnet/test/common/Interactions/DragAndDropTest.cs
@@ -25,13 +25,13 @@
         {
             driver.Url = dragAndDropPage;
             IWebElement img = driver.FindElement(By.Id("test1"));
-            Point expectedLocation = drag(img, img.Location, 150, 200);
-            Assert.AreEqual(expectedLocation, img.Location);
-            expectedLocation = drag(img, img.Location, -50, -25);
-            Assert.AreEqual(expectedLocation, img.Location);
-            expectedLocation = drag(img, img.Location, 0, 0);
-            Assert.AreEqual(expectedLocation, img.Location);
-            expectedLocation = drag(img, img.Location, 1, -1);
+            Point expectedLocation = Drag(img, img.Location, 150, 200);
+            Assert.AreEqual(expectedLocation, img.Location);
+            expectedLocation = Drag(img, img.Location, -50, -25);
+            Assert.AreEqual(expectedLocation, img.Location);
+            expectedLocation = Drag(img, img.Location, 0, 0);
+            Assert.AreEqual(expectedLocation, img.Location);
+            expectedLocation = Drag(img, img.Location, 1, -1);
             Assert.AreEqual(expectedLocation, img.Location);
         }

@@ -117,7 +117,7 @@
             driver.Url = dragAndDropPage;
             IWebElement img = driver.FindElement(By.Id("test3"));
             Point startLocation = img.Location;
-            Point expectedLocation = drag(img, startLocation, 100, 100);
+            Point expectedLocation = Drag(img, startLocation, 100, 100);
             Point endLocation = img.Location;
             Assert.AreEqual(expectedLocation, endLocation);
         }
@@ -153,7 +153,7 @@
             {
                 driver.Url = dragAndDropPage;
                 IWebElement img = driver.FindElement(By.Id("test3"));
-                Point expectedLocation = drag(img, img.Location, 100, 100);
+                Point expectedLocation = Drag(img, img.Location, 100, 100);
                 Assert.AreEqual(expectedLocation, img.Location);
             }
             finally
@@ -230,11 +230,13 @@
             IWebElement img1 = driver.FindElement(By.Id("test1"));
             IWebElement img2 = driver.FindElement(By.Id("test2"));
             Actions actionProvider = new Actions(driver);
-            actionProvider.DragAndDropToOffset(img1, 100, 100).DragAndDrop(img2, img1).Perform();
+            actionProvider.DragAndDropToOffset(img1, 100, 100).Perform();
+            actionProvider.Reset();
+            actionProvider.DragAndDrop(img2, img1).Perform();
             Assert.AreEqual(img1.Location, img2.Location);
         }

-        private Point drag(IWebElement elem, Point initialLocation, int moveRightBy, int moveDownBy)
+        private Point Drag(IWebElement elem, Point initialLocation, int moveRightBy, int moveDownBy)
         {
             Point expectedLocation = new Point(initialLocation.X, initialLocation.Y);
             expectedLocation.Offset(moveRightBy, moveDownBy);


Update source

Update source

--- src/HtmlAgilityPack.Shared/HtmlAttributeCollection.cs
+++ src/HtmlAgilityPack.Shared/HtmlAttributeCollection.cs
@@ -153,7 +153,7 @@
 		/// </summary>
 		void ICollection<HtmlAttribute>.Clear()
         {
-            items.Clear();
+            Clear();
         }

         /// <summary>
@@ -230,7 +230,8 @@
         /// <returns></returns>
         bool ICollection<HtmlAttribute>.Remove(HtmlAttribute item)
         {
-            return items.Remove(item);
+            Remove(item);
+            return true;
         }

         /// <summary>


Doc comment update

Doc comment update

--- src/IntelliTect.Coalesce.Knockout/Helpers/Knockout.cs
+++ src/IntelliTect.Coalesce.Knockout/Helpers/Knockout.cs
@@ -414,7 +414,7 @@
         /// <typeparam name="TSource">The type of the model that owns the list of valid values.</typeparam>
         /// <param name="propertySelector">Property selector for the property being edited.</param>
         /// <param name="sourcePropertySelector">Property selector for the valid values.</param>
-        /// <param name="placeholder">Placeholder on the select element</param>
+        /// <param name="placeholder">Placeholder on the select element. Defaults to the property referenced by <paramref name="propertySelector"/>. </param>
         /// <param name="allowCustom">Whether to allow any user input to be selected as a value, or only the values sourced from <paramref name="sourcePropertySelector"/>. </param>
         public static HtmlString SelectFor<T, TSource>(
             Expression<Func<T, string>> propertySelector,


Code cleanup

Code cleanup

--- src/Konves.TextGraph.HtmlParser/HtmlDocumentParser.cs
+++ src/Konves.TextGraph.HtmlParser/HtmlDocumentParser.cs
@@ -25,12 +25,6 @@
 			Document document = state.ToDocument();

 			return new ReadOnlyCollection<Document>(new[] { document });
-		}
-
-		private void ParseNode(string id, HtmlNode node)
-		{
-			var state = new ParseState(id);
-			state.Traverse(node);
 		}

 		private class ParseState


Pull field data extraction code to helper function

--- src/LfMerge.Tests/Actions/RoundTripFdoToMongoTests.cs
+++ src/LfMerge.Tests/Actions/RoundTripFdoToMongoTests.cs
@@ -68,6 +68,46 @@
 				value.ToString();
 		}

+		/// <summary>
+		/// Get the field values as a dict, keyed by field ID, for any CmObject.
+		/// </summary>
+		/// <returns>A dictionary with integer field ID mapped to values.</returns>
+		/// <param name="cache">FDO cache the object lives in.</param>
+		/// <param name="obj">Object whose fields we're getting.</param>
+		private IDictionary<int, object> GetFieldValues(FdoCache cache, ICmObject obj)
+		{
+			IFwMetaDataCacheManaged mdc = cache.ServiceLocator.MetaDataCache;
+			ISilDataAccess data = cache.DomainDataByFlid;
+			int[] fieldIds = mdc.GetFields(obj.ClassID, false, (int)CellarPropertyTypeFilter.All);
+			var fieldValues = new Dictionary<int, object>();
+			foreach (int flid in fieldIds)
+			{
+				if (mdc.IsCustom(flid))
+					continue; // Custom fields get processed differently
+				string fieldName = mdc.GetFieldNameOrNull(flid);
+				if (String.IsNullOrEmpty(fieldName))
+					continue;
+				object value = data.get_Prop(obj.Hvo, flid);
+				fieldValues[flid] = value;
+				Console.WriteLine("Field {0} named {1} had value {2} of type {3}",
+					flid, fieldName, Repr(value), (value == null) ? "null" : value.GetType().ToString());
+			}
+			return fieldValues;
+		}
+
+		private BsonDocument GetCustomFieldValues(FdoCache cache, ICmObject obj, string objectType = "entry")
+		{
+			// The objectType parameter is used in the names of the custom fields (and nowhere else).
+			var customFieldConverter = new CustomFieldConverter(cache);
+			return customFieldConverter.CustomFieldsForThisCmObject(obj, objectType);
+		}
+
+		private IDictionary<string, object> GetFieldValuesByName(FdoCache cache, ICmObject obj)
+		{
+			IFwMetaDataCacheManaged mdc = cache.ServiceLocator.MetaDataCache;
+			return GetFieldValues(cache, obj).ToDictionary(kv => mdc.GetFieldName(kv.Key), kv => kv.Value);
+		}
+
 		[Test]
 		public void RoundTrip_FdoToMongoToFdo_ShouldKeepSameValues()
 		{
@@ -85,23 +125,10 @@
 			IFwMetaDataCacheManaged mdc = cache.ServiceLocator.MetaDataCache;
 			ISilDataAccess data = cache.DomainDataByFlid;
 			int[] fieldsForLexEntry = mdc.GetFields(LexEntryTags.kClassId, false, (int)CellarPropertyTypeFilter.All);
-			var fieldValues = new Dictionary<int, object>();
-			var fieldValuesByName = new Dictionary<string, object>();
-			var customFieldConverter = new CustomFieldConverter(cache);
-			BsonDocument customFieldValues = customFieldConverter.CustomFieldsForThisCmObject(entry, "entry");
-			foreach (int flid in fieldsForLexEntry)
-			{
-				if (mdc.IsCustom(flid))
-					continue; // Custom fields get processed differently
-				string fieldName = mdc.GetFieldNameOrNull(flid);
-				if (String.IsNullOrEmpty(fieldName))
-					continue;
-				object value = data.get_Prop(entry.Hvo, flid);
-				fieldValues[flid] = value;
-				fieldValuesByName[fieldName] = value;
-				Console.WriteLine("Field {0} named {1} had value {2} of type {3}",
-					flid, fieldName, Repr(value), (value == null) ? "null" : value.GetType().ToString());
-			}
+//			var fieldValues = new Dictionary<int, object>();
+//			var fieldValuesByName = new Dictionary<string, object>();
+			BsonDocument customFieldValues = GetCustomFieldValues(cache, entry, "entry");
+			IDictionary<int, object> fieldValues = GetFieldValues(cache, entry);

 			var sampleData = new SampleData();
 			_conn.AddToMockData(sampleData.bsonTestData);
@@ -112,11 +139,9 @@

 			// Verify
 			// string expectedShortName = "ztestmain";
-			BsonDocument customFieldValuesAfterTest = customFieldConverter.CustomFieldsForThisCmObject(entry, "entry");
-			var fieldValuesAfterTest = new Dictionary<int, object>();
-			var fieldValuesByNameAfterTest = new Dictionary<string, object>();
-			var differences = new Dictionary<int, Tuple<object, object>>(); // Tuple of (before, after)
-			var differencesByName = new Dictionary<string, Tuple<object, object>>(); // Tuple of (before, after)
+			BsonDocument customFieldValuesAfterTest = GetCustomFieldValues(cache, entry, "entry");
+			IDictionary<int, object> fieldValuesAfterTest = GetFieldValues(cache, entry);
+
 			var fieldNamesThatShouldBeDifferent = new string[] {
 				"DateCreated",
 				"DateModified",
@@ -128,54 +153,55 @@
 				"HeadWordRef",
 				"HeadWordReversal",
 			};
+			var differences = new Dictionary<int, Tuple<string, string>>(); // Tuple of (before, after)
+			var differencesByName = new Dictionary<string, Tuple<string, string>>(); // Tuple of (before, after)
 			foreach (int flid in fieldsForLexEntry)
 			{
 				if (mdc.IsCustom(flid))
-					continue; // Custom fields get processed differently
+					continue;
 				string fieldName = mdc.GetFieldNameOrNull(flid);
 				if (String.IsNullOrEmpty(fieldName))
 					continue;
-				object value = data.get_Prop(entry.Hvo, flid);
-				fieldValuesAfterTest[flid] = value;
-				fieldValuesByNameAfterTest[fieldName] = value;
-
-				// Calculate differences
+				object valueAfterTest = fieldValuesAfterTest[flid];
+
+				// Some fields, like DateModified, *should* be different
 				if (fieldNamesThatShouldBeDifferent.Contains(fieldName) ||
 					fieldNamesToSkip.Contains(fieldName))
 					continue;
-				if ((value == null && fieldValues[flid] == null))
-					continue;
-				if (fieldValues[flid].Equals(value))
+
+				if ((valueAfterTest == null && fieldValues[flid] == null))
+					continue;
+				if (fieldValues[flid].Equals(valueAfterTest))
 					continue;
 				// Arrays need to be compared specially
 				if (fieldValues[flid].GetType() == typeof(int[]))
 				{
 					int[] before = fieldValues[flid] as int[];
-					int[] after = value as int[];
+					int[] after = valueAfterTest as int[];
 					if (before.SequenceEqual(after))
 						continue;
 				}
 				// If we get this far, they're different
-				var diff = new Tuple<object, object>(fieldValues[flid], fieldValuesAfterTest[flid]);
+				var diff = new Tuple<string, string>(Repr(fieldValues[flid]), Repr(fieldValuesAfterTest[flid]));
 				differences[flid] = diff;
 				differencesByName[fieldName] = diff;
 				Console.WriteLine("After test, field {0} named {1} had value {2} of type {3}",
-					flid, fieldName, Repr(value), (value == null) ? "null" : value.GetType().ToString());
+					flid, fieldName, Repr(valueAfterTest), (valueAfterTest == null) ? "null" : valueAfterTest.GetType().ToString());
 			}

-			foreach (KeyValuePair<string, Tuple<object, object>> diff in differencesByName)
+			foreach (KeyValuePair<string, Tuple<string, string>> diff in differencesByName)
 			{
 				string fieldName = diff.Key;
-				object oldVal = diff.Value.Item1;
-				object newVal = diff.Value.Item2;
-				Console.WriteLine("Field {0} was different. Old value: {1}, new value: {2}", fieldName, Repr(oldVal), Repr(newVal));
+				string oldVal = diff.Value.Item1;
+				string newVal = diff.Value.Item2;
+				Console.WriteLine("Field {0} was different. Old value: {1}, new value: {2}", fieldName, oldVal, newVal);
 			}

 			Console.WriteLine("Custom fields before test: {0}", customFieldValues);
 			Console.WriteLine("Custom fields after test: {0}", customFieldValuesAfterTest);

+			Assert.That(differencesByName, Is.Empty); // Should fail
 			Assert.That(customFieldValues, Is.EqualTo(customFieldValuesAfterTest));
-			Assert.That(differencesByName, Is.Empty); // Should fail

 			// This test is currently failing on custom field differences, because GUIDs are changing:
 			// Before: customFieldGuids={ "customField_entry_Cust_MultiPara" : "6d6e3f72-b0ce-4f2e-aa3b-824a6bac0101", "customField_entry_Cust_Single_ListRef" : "5364d32b-2b3a-4876-85e4-97b72a47be5d" }


ExpressionSessionLeakTest - mark as KnownBug and refactor to use using statement.

--- src/NHibernate.Test/Linq/ExpressionSessionLeakTest.cs
+++ src/NHibernate.Test/Linq/ExpressionSessionLeakTest.cs
@@ -8,32 +8,30 @@
 {
 	public class ExpressionSessionLeakTest : LinqTestCase
 	{
-		[Test]
-		[Ignore("Not fixed yet. NH-3579")]
+		[Test, KnownBug("NH-3579")]
 		public void SessionGetsCollected()
 		{
 			var reference = DoLinqInSeparateSession();

 			GC.Collect();

-			Assert.Null(reference.Target);
+			Assert.That(reference.IsAlive, Is.False);
 		}
-

 		private WeakReference DoLinqInSeparateSession()
 		{
-			var leakTest = session.SessionFactory.OpenSession();
+			using (var leakTest = session.SessionFactory.OpenSession())
+			{
+				// It appears linq expressions will (or might) contain a reference to the
+				// IQueryable. At time of writing, linq expressions are helt within NhLinqExpression,
+				// which in turn will be held in the query plan cache. Since the IQueryable will
+				// be an NhQueryable, which holds a reference to the SessionImpl instance,
+				// we will be leaking session instances.

-			// It appears linq expressions will (or might) contain a reference to the
-			// IQueryable. At time of writing, linq expressions are helt within NhLinqExpression,
-			// which in turn will be held in the query plan cache. Since the IQueryable will
-			// be an NhQueryable, which holds a reference to the SessionImpl instance,
-			// we will be leaking session instances.
+				var query = leakTest.Query<Customer>().FirstOrDefault(t => t.CustomerId != "");

-			var query = leakTest.Query<Customer>().FirstOrDefault(t => t.CustomerId != "");
-			leakTest.Dispose();
-
-			return new WeakReference(leakTest, false);
+				return new WeakReference(leakTest, false);
+			}
 		}
 	}
 }


Allows multiple security schemes

Allows multiple security schemes

--- src/Nancy.Swagger/Services/SwaggerMetadataProvider.cs
+++ src/Nancy.Swagger/Services/SwaggerMetadataProvider.cs
@@ -18,8 +18,7 @@
             Description = ""
         };

-        private static SecuritySchemeBuilder _securitySchemeBuilder = null;
-        private static string _securitySchemaType = string.Empty;
+        private static IDictionary<string, SecuritySchemeBuilder> _securitySchemes;

         public static void SetInfo(string title, string version, string desc, Contact contact = null, string termsOfService = null)
         {
@@ -33,10 +32,25 @@
             };
         }

-        public static void SetSecuritySchemeBuilder(SecuritySchemeBuilder builder, string type)
+        public static void AddSecuritySchemeBuilder(SecuritySchemeBuilder builder, string name)
         {
-            _securitySchemeBuilder = builder;
-            _securitySchemaType = type;
+            if (_securitySchemes == null)
+            {
+                _securitySchemes = new Dictionary<string, SecuritySchemeBuilder>();
+            }
+
+            if (_securitySchemes.ContainsKey(name))
+            {
+                _securitySchemes.Remove(name);
+            }
+
+            _securitySchemes.Add(name, builder);
+        }
+
+        public static void SetSecuritySchemeBuilder(SecuritySchemeBuilder builder, string name)
+        {
+            _securitySchemes = null;
+            AddSecuritySchemeBuilder(builder, name);
         }

         public SwaggerRoot GetSwaggerJson()
@@ -68,9 +82,10 @@
                 builder.Tag(tag);
             }

-            if (_securitySchemeBuilder != null)
+
+            foreach (var securityScheme in _securitySchemes)
             {
-                builder.SecurityDefinition(_securitySchemaType, _securitySchemeBuilder.Build());
+                builder.SecurityDefinition(securityScheme.Key, securityScheme.Value.Build());
             }

             return builder.Build();


previous commit, cleanup

previous commit, cleanup

--- src/Peachpie.CodeAnalysis/Symbols/SymbolExtensions.cs
+++ src/Peachpie.CodeAnalysis/Symbols/SymbolExtensions.cs
@@ -65,36 +65,14 @@
         /// </summary>
         public static QualifiedName GetPhpTypeNameOrNull(this PENamedTypeSymbol s)
         {
-            var attrs = s.GetAttributes();
-            if (attrs.Length != 0)
+            if (TryGetPhpTypeAttribute(s, out var tname, out var fname))
             {
-                for (int i = 0; i < attrs.Length; i++)
-                {
-                    if (attrs[i].AttributeClass.MetadataName == "PhpTypeAttribute")
-                    {
-                        var ctorargs = attrs[i].ConstructorArguments;
-                        var tname = ctorargs[0];
-                        var tnamestr = tname.IsNull ? null : tname.DecodeValue<string>(SpecialType.System_String);
-
-                        const string InheritName = "[name]";
-
-                        if (tnamestr == null)
-                        {
-                            return s.MakeQualifiedName();
-                        }
-                        else if (tnamestr == InheritName)
-                        {
-                            return new QualifiedName(new Name(s.Name));
-                        }
-                        else
-                        {
-                            return QualifiedName.Parse(tnamestr.Replace(InheritName, s.Name), true);
-                        }
-                    }
-                }
+                return tname != null
+                    ? QualifiedName.Parse(tname, true)
+                    : s.MakeQualifiedName();
             }

-            return default(QualifiedName);
+            return default;
         }

         /// <summary>


Removed paries from the agreement

Removed paries from the agreement

--- src/SFA.DAS.EAS.Web/Views/Shared/_Agreement_v1.cshtml
+++ src/SFA.DAS.EAS.Web/Views/Shared/_Agreement_v1.cshtml
@@ -43,6 +43,9 @@

+
Background

+
This Agreement sets out the terms for use of the Apprenticeship Service by the Employer and
+the obligations by which the Employer agrees to be bound.

1. Definitions and Interpretation

             In this Agreement the following terms shall have the following meanings:


Don't drop items with no metadata.

Don't drop items with no metadata.

--- src/StructuredLogger/Construction/MessageProcessor.cs
+++ src/StructuredLogger/Construction/MessageProcessor.cs
@@ -252,32 +252,30 @@
                 var itemNode = new Item { Text = item.ItemSpec };

                 var metadata = item.CloneCustomMetadata() as ArrayDictionary<string, string>;
-                if (metadata == null)
-                {
-                    continue;
-                }
-
-                int count = metadata.Count;
-                itemNode.EnsureChildrenCapacity(count);
-
-                var keys = metadata.KeyArray;
-                var values = metadata.ValueArray;
-
-                for (int i = 0; i < count; i++)
-                {
-                    var key = keys[i];
-                    var value = values[i];
-
-                    var metadataNode = new Metadata
-                    {
-                        Name = key,
-                        Value = value
-                    };
-
-                    // hot path, do not use AddChild
-                    // itemNode.AddChild(metadataNode);
-                    itemNode.Children.Add(metadataNode);
-                    metadataNode.Parent = itemNode;
+                if (metadata != null)
+                {
+                    int count = metadata.Count;
+                    itemNode.EnsureChildrenCapacity(count);
+
+                    var keys = metadata.KeyArray;
+                    var values = metadata.ValueArray;
+
+                    for (int i = 0; i < count; i++)
+                    {
+                        var key = keys[i];
+                        var value = values[i];
+
+                        var metadataNode = new Metadata
+                        {
+                            Name = key,
+                            Value = value
+                        };
+
+                        // hot path, do not use AddChild
+                        // itemNode.AddChild(metadataNode);
+                        itemNode.Children.Add(metadataNode);
+                        metadataNode.Parent = itemNode;
+                    }
                 }

                 parent.AddChild(itemNode);


moved the registration for IUdpSessionIdentifierProvider to the supplement services

--- src/SuperSocket.Udp/UdpServerHostBuilderExtensions.cs
+++ src/SuperSocket.Udp/UdpServerHostBuilderExtensions.cs
@@ -19,17 +19,22 @@
         {
             return (hostBuilder.ConfigureServices((context, services) =>
             {
-                services.AddSingleton<IChannelCreatorFactory, UdpChannelCreatorFactory>();
-                services.AddSingleton<IUdpSessionIdentifierProvider, IPAddressUdpSessionIdentifierProvider>();
-            }) as ISuperSocketHostBuilder).ConfigureSupplementServices((context, services) =>
+                services.AddSingleton<IChannelCreatorFactory, UdpChannelCreatorFactory>();
+            }) as ISuperSocketHostBuilder)
+            .ConfigureSupplementServices((context, services) =>
             {
-                if (services.Any(s => s.ServiceType == typeof(IAsyncSessionContainer)))
-                    return;
+                if (!services.Any(s => s.ServiceType == typeof(IUdpSessionIdentifierProvider)))
+                {
+                    services.AddSingleton<IUdpSessionIdentifierProvider, IPAddressUdpSessionIdentifierProvider>();
+                }

-                services.TryAddEnumerable(ServiceDescriptor.Singleton<IMiddleware, InProcSessionContainerMiddleware>(s => s.GetRequiredService<InProcSessionContainerMiddleware>()));
-                services.AddSingleton<InProcSessionContainerMiddleware>();
-                services.AddSingleton<ISessionContainer>((s) => s.GetRequiredService<InProcSessionContainerMiddleware>());
-                services.AddSingleton<IAsyncSessionContainer>((s) => s.GetRequiredService<ISessionContainer>().ToAsyncSessionContainer());
+                if (!services.Any(s => s.ServiceType == typeof(IAsyncSessionContainer)))
+                {
+                    services.TryAddEnumerable(ServiceDescriptor.Singleton<IMiddleware, InProcSessionContainerMiddleware>(s => s.GetRequiredService<InProcSessionContainerMiddleware>()));
+                    services.AddSingleton<InProcSessionContainerMiddleware>();
+                    services.AddSingleton<ISessionContainer>((s) => s.GetRequiredService<InProcSessionContainerMiddleware>());
+                    services.AddSingleton<IAsyncSessionContainer>((s) => s.GetRequiredService<ISessionContainer>().ToAsyncSessionContainer());
+                }
             });
         }
     }


Added null check on raw JSON to prevent null reference error deserializing the grid

--- src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
+++ src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
@@ -192,6 +192,10 @@
             public IEnumerable<UmbracoEntityReference> GetReferences(object value)
             {
                 var rawJson = value == null ? string.Empty : value is string str ? str : value.ToString();
+
+                if (rawJson.IsNullOrWhiteSpace())
+                    yield break;
+
                 DeserializeGridValue(rawJson, out var richTextEditorValues, out var mediaValues);

                 foreach (var umbracoEntityReference in richTextEditorValues.SelectMany(x =>


Analysis of sphere packing for code W[7,3,4] was added

--- src/Utils/WaveletCodesListDecodingAnalyzer/Program.cs
+++ src/Utils/WaveletCodesListDecodingAnalyzer/Program.cs
@@ -113,6 +113,8 @@
                 )
             );

+        private static void AnalyzeSpherePackingsForN7K3D4() => AnalyzeSpherePackings(FixedDistanceCodesFactory.CreateN7K3D4());
+
         private static void AnalyzeCodeN7K3D4() => AnalyzeCode(FixedDistanceCodesFactory.CreateN7K3D4(), 2, 2);

         private static void AnalyzeCodeN26K13D12() => AnalyzeCode(FixedDistanceCodesFactory.CreateN26K13D12(), 6, 2);
@@ -219,7 +221,7 @@
         {
             try
             {
-                AnalyzeSpherePackingsForN8K4D3();
+                AnalyzeSpherePackingsForN7K3D4();
             }
             catch (Exception exception)
             {


Fix CSP for /home/about

Fix CSP for /home/about

Fix the Content Security Policy on the /home/about page by adding
www.linkedin.com to the img-src to resolve #11.

--- src/Website/Middleware/CustomHttpHeadersMiddleware.cs
+++ src/Website/Middleware/CustomHttpHeadersMiddleware.cs
@@ -131,7 +131,7 @@
 default-src 'self';
 script-src 'self' ajax.googleapis.com cdnjs.cloudflare.com maxcdn.bootstrapcdn.com platform.linkedin.com platform.twitter.com www.google-analytics.com www.openhub.net 'unsafe-inline';
 style-src 'self' ajax.googleapis.com fonts.googleapis.com maxcdn.bootstrapcdn.com 'unsafe-inline';
-img-src 'self' stackoverflow.com static.licdn.com syndication.twitter.com www.google-analytics.com www.openhub.net data:;
+img-src 'self' stackoverflow.com static.licdn.com syndication.twitter.com www.google-analytics.com www.linkedin.com www.openhub.net data:;
 font-src 'self' ajax.googleapis.com fonts.googleapis.com fonts.gstatic.com maxcdn.bootstrapcdn.com;
 connect-src 'self';
 media-src 'none';


Cache Type.FullName in StackTrace

Cache Type.FullName in StackTrace

--- src/mscorlib/src/System/Diagnostics/Stacktrace.cs
+++ src/mscorlib/src/System/Diagnostics/Stacktrace.cs
@@ -529,9 +529,10 @@
                     if (t != null)
                     {
                         // Append t.FullName, replacing '+' with '.'
-                        for (int i = 0; i < t.FullName.Length; i++)
+                        string fullName = t.FullName;
+                        for (int i = 0; i < fullName.Length; i++)
                         {
-                            char ch = t.FullName[i];
+                            char ch = fullName[i];
                             sb.Append(ch == '+' ? '.' : ch);
                         }
                         sb.Append('.');


Code formatting

Code formatting

--- example/Wishlist/Controllers/WishlistController.cs
+++ example/Wishlist/Controllers/WishlistController.cs
@@ -56,9 +56,11 @@
             if (!await _authorization.AuthorizeAsync(User, yaasParameters, WishlistOperations.ViewScopeRequired))
                 return HttpUnauthorized();

-            var result = await _documentService.GetDocumentByIdAsync<Model.Wishlist>(WishlistCollection, wishlistId, new WishlistQueryParameters());
+            var result = await _documentService.GetDocumentByIdAsync<Model.Wishlist>(WishlistCollection,
+                                                                                wishlistId,
+                                                                                new WishlistQueryParameters());

-            // The parameter list and the end indicates which kinds of HTTP errors should be
+            // The parameter list at the end indicates which kinds of HTTP errors should be
             // propagated from the document service result. Anything else will cause an exception
             // to be thrown. This way all possible errors are spec'ed in the action method.
             return new ServiceActionResult<Model.Wishlist>(result, HttpStatusCode.OK, HttpStatusCode.NotFound);
@@ -74,7 +76,9 @@
                 return HttpBadRequest(ModelState);

             var result = await _documentService.CreateDocumentAsync(WishlistCollection, wishlist);
-            return new ServiceActionResult<ResourceLocation>(result, HttpStatusCode.Created, HttpStatusCode.Conflict, HttpStatusCode.Unauthorized);
+            return new ServiceActionResult<ResourceLocation>(result, HttpStatusCode.Created,
+                                                                     HttpStatusCode.Conflict,
+                                                                     HttpStatusCode.Unauthorized);
         }

         [HttpPut("{wishlistId}")]
@@ -90,8 +94,14 @@
             // We have to clear the id from the update payload, otherwise the document service complains
             wishlist.Id = null;

-            var result = await _documentService.UpdateDocumentByIdAsync<Model.Wishlist>(WishlistCollection, wishlistId, wishlist, new WishlistQueryParameters());
-            return new ServiceActionResult<Model.Wishlist>(result, HttpStatusCode.OK, HttpStatusCode.NotFound, HttpStatusCode.Unauthorized);
+            var result = await _documentService.UpdateDocumentByIdAsync<Model.Wishlist>(WishlistCollection,
+                                                                                wishlistId,
+                                                                                wishlist,
+                                                                                new WishlistQueryParameters());
+
+            return new ServiceActionResult<Model.Wishlist>(result, HttpStatusCode.OK,
+                                                                   HttpStatusCode.NotFound,
+                                                                   HttpStatusCode.Unauthorized);
         }

         [HttpPut("{wishlistId}")]
@@ -100,8 +110,13 @@
             if (!await _authorization.AuthorizeAsync(User, yaasParameters, WishlistOperations.ManageScopeRequired))
                 return HttpUnauthorized();

-            var result = await _documentService.DeleteDocumentByIdAsync(WishlistCollection, wishlistId, new WishlistQueryParameters());
-            return new ServiceActionResult(result, HttpStatusCode.NoContent, HttpStatusCode.NotFound, HttpStatusCode.Unauthorized);
+            var result = await _documentService.DeleteDocumentByIdAsync(WishlistCollection,
+                                                                        wishlistId,
+                                                                        new WishlistQueryParameters());
+
+            return new ServiceActionResult(result, HttpStatusCode.NoContent,
+                                                   HttpStatusCode.NotFound,
+                                                   HttpStatusCode.Unauthorized);
         }
     }
 }


Fix for issue-41

Fix for issue-41

Adding a validation to
NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(Int32,
String, params Object[]) to replace any embedded zeroes.

--- src/framework/Internal/Execution/TextMessageWriter.cs
+++ src/framework/Internal/Execution/TextMessageWriter.cs
@@ -104,6 +104,9 @@
             {
                 while (level-- >= 0) Write("  ");

+                if(message.Contains("\0"))
+                    message = message.Replace("\0", "\\0");
+
                 if (args != null && args.Length > 0)
                     message = string.Format(message, args);


Fixed bug in some directory method.

Fixed bug in some directory method.

--- AlphaFS/Filesystem/DirectoryInfo.cs
+++ AlphaFS/Filesystem/DirectoryInfo.cs
@@ -1665,11 +1665,13 @@
       private DirectoryInfo CreateSubdirectoryInternal(string path, string templatePath, DirectorySecurity directorySecurity, bool compress)
       {
          string pathLp = Path.CombineInternal(false, LongFullName, path);
+         string templatePathLp = templatePath == null ? null :
+            Path.GetExtendedLengthPathInternal(Transaction, templatePath, PathFormat.Auto, new GetFullPathInternalArgs(true, false, true, false, false, false));

          if (string.Compare(LongFullName, 0, pathLp, 0, LongFullName.Length, StringComparison.OrdinalIgnoreCase) != 0)
             throw new ArgumentException("Invalid SubPath", pathLp);

-         return Directory.CreateDirectoryInternal(Transaction, pathLp, templatePath, directorySecurity, compress, PathFormat.Auto);
+         return Directory.CreateDirectoryInternal(Transaction, pathLp, templatePathLp, directorySecurity, compress, PathFormat.ExtendedLength);
       }

       #endregion // CreateSubdirectoryInternal


Rules serialization avoids unnecessary new line

--- AngleSharp/Dom/Css/CssStyleSheet.cs
+++ AngleSharp/Dom/Css/CssStyleSheet.cs
@@ -99,8 +99,16 @@
             {
                 var sb = Pool.NewStringBuilder();

-                foreach (var rule in _rules)
-                    sb.AppendLine(rule.CssText);
+                if (_rules.Length > 0)
+                {
+                    sb.Append(_rules[0].CssText);
+
+                    for (int i = 1; i < _rules.Length; i++)
+                    {
+                        sb.AppendLine();
+                        sb.Append(_rules[i].CssText);
+                    }
+                }

                 return sb.ToPool();
             }


Added documentation comment

Added documentation comment

--- AngleSharp/Dom/Css/CssStyleSheet.cs
+++ AngleSharp/Dom/Css/CssStyleSheet.cs
@@ -94,6 +94,34 @@

         #endregion

+        #region Internal Properties
+
+        /// <summary>
+        /// Gets a CSSRuleList of the CSS rules in the style sheet.
+        /// </summary>
+        internal CssRuleList Rules
+        {
+            get { return _rules; }
+        }
+
+        /// <summary>
+        /// Gets the text stream source.
+        /// </summary>
+        internal TextSource Source
+        {
+            get { return _source; }
+        }
+
+        /// <summary>
+        /// Gets the configuration to use.
+        /// </summary>
+        internal IConfiguration Options
+        {
+            get { return _config; }
+        }
+
+        #endregion
+
         #region Methods

         public override String ToCss(IStyleFormatter formatter)
@@ -135,30 +163,5 @@
         }

         #endregion
-
-        #region Internal Properties
-
-        /// <summary>
-        /// Gets a CSSRuleList of the CSS rules in the style sheet.
-        /// </summary>
-        internal CssRuleList Rules
-        {
-            get { return _rules; }
-        }
-
-        /// <summary>
-        /// Gets the text stream source.
-        /// </summary>
-        internal TextSource Source
-        {
-            get { return _source; }
-        }
-
-        internal IConfiguration Options
-        {
-            get { return _config; }
-        }
-
-        #endregion
     }
 }


Modified for testing purposes

Modified for testing purposes

--- src/reni2/FeatureTest/Reference/ConversionFromPointer.cs
+++ src/reni2/FeatureTest/Reference/ConversionFromPointer.cs
@@ -40,14 +40,16 @@
 y: x(0) reference;
 y type dump_print;
 ")]
-    [Output("")]
-    public sealed class ConversionFromPointerSimple : CompilerTest
+    [Output("((bit)sequence(8) #(# text_item #)#)reference(1)")]
+    public sealed class TypeOfConversionFromPointer : CompilerTest
     {
         [Test]
         public override void Run() { BaseRun(); }
     }
+
+
     [TestFixture]
-    [ConversionFromPointerSimple]
+    [TypeOfConversionFromPointer]
     [Target(@"
 x: 'Hallo World';
 y: (x(0) type * 1000) reference (x);


Added statement blocks to consist of one statement with no braces.

--- ArkeOS.Tools.KohlCompiler/Parser.cs
+++ ArkeOS.Tools.KohlCompiler/Parser.cs
@@ -7,7 +7,14 @@

         public Parser(Lexer lexer) => this.lexer = lexer;

-        public ProgramNode Parse() => new ProgramNode(this.ReadStatementBlock());
+        public ProgramNode Parse() {
+            var res = new ProgramNode(this.ReadStatementBlock());
+
+            if (this.lexer.Peek(out var t))
+                throw this.GetUnexpectedTokenExceptionAtCurrent(t.Type);
+
+            return res;
+        }

         private void Read(TokenType t) {
             if (!this.lexer.Read(t))
@@ -17,12 +24,19 @@
         private StatementBlockNode ReadStatementBlock() {
             var block = new StatementBlockNode();

-            this.Read(TokenType.OpenCurlyBrace);
+            if (this.lexer.Peek(out var t)) {
+                if (t.Type == TokenType.OpenCurlyBrace) {
+                    this.Read(TokenType.OpenCurlyBrace);

-            while (this.lexer.Peek(out var t) && t.Type != TokenType.CloseCurlyBrace)
-                block.Add(this.ReadStatement());
+                    while (this.lexer.Peek(out t) && t.Type != TokenType.CloseCurlyBrace)
+                        block.Add(this.ReadStatement());

-            this.Read(TokenType.CloseCurlyBrace);
+                    this.Read(TokenType.CloseCurlyBrace);
+                }
+                else {
+                    block.Add(this.ReadStatement());
+                }
+            }

             return block;
         }


Switch to using Shift+F_ for team selection

--- Articulate/CommandChunks/Subject.cs
+++ Articulate/CommandChunks/Subject.cs
@@ -96,30 +96,11 @@
 			var nine = DirectInputEmulator.KeyPress(DirectInputKeys.F9);
 			var ten = DirectInputEmulator.KeyPress(DirectInputKeys.F10);

-			var red = new List<INPUT[]>();
-			red.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			red.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			red.Add(DirectInputEmulator.KeyPress(DirectInputKeys.One));
-
-			var green = new List<INPUT[]>();
-			green.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			green.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			green.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Two));
-
-			var blue = new List<INPUT[]>();
-			blue.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			blue.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			blue.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Three));
-
-			var yellow = new List<INPUT[]>();
-			yellow.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			yellow.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			yellow.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Four));
-
-			var white = new List<INPUT[]>();
-			white.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			white.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Nine));
-			white.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Five));
+			var red = DirectInputEmulator.KeyPress(DirectInputKeys.Shift, DirectInputKeys.F1);
+			var green = DirectInputEmulator.KeyPress(DirectInputKeys.Shift, DirectInputKeys.F2);
+			var blue = DirectInputEmulator.KeyPress(DirectInputKeys.Shift, DirectInputKeys.F3);
+			var yellow = DirectInputEmulator.KeyPress(DirectInputKeys.Shift, DirectInputKeys.F4);
+			var white = DirectInputEmulator.KeyPress(DirectInputKeys.Shift, DirectInputKeys.F5);

 			var everyone = new List<INPUT[]>();
 			everyone.Add(DirectInputEmulator.KeyPress(DirectInputKeys.Tilde));
@@ -137,11 +118,11 @@
 			KeyLookup.Add("TEN", new List<INPUT[]>() { ten });

             // TEAM SELECTION
-            KeyLookup.Add("RED", red);
-            KeyLookup.Add("BLUE", blue);
-            KeyLookup.Add("YELLOW", yellow);
-            KeyLookup.Add("WHITE", white);
-            KeyLookup.Add("GREEN", green);
+            KeyLookup.Add("RED", new List<INPUT[]>() { red });
+            KeyLookup.Add("BLUE", new List<INPUT[]>() { blue });
+            KeyLookup.Add("YELLOW", new List<INPUT[]>() { yellow });
+            KeyLookup.Add("WHITE", new List<INPUT[]>() { white });
+			KeyLookup.Add("GREEN", new List<INPUT[]>() { green });

             // ALL
             KeyLookup.Add("ALL", everyone);


Defin Generate U Q

Defin Generate U Q

--- Assets/Scripts/Beam/BeamAnalyzer.cs
+++ Assets/Scripts/Beam/BeamAnalyzer.cs
@@ -49,6 +49,8 @@
         GenerateQF();
         GeneratePF();
         GenerateD();
+        GenerateU();
+        GenerateQ();
     }

     void GenerateDegreeOfFreedom()
@@ -336,7 +338,16 @@
         Debug.Log(dStr);
     }

+    void GenerateU()
+    {
+
+    }

+    void GenerateQ()
+    {
+
+    }
+
     public void ResetAnalyzer()
     {


QF : Uniform load place in middle case

QF : Uniform load place in middle case

--- Assets/Scripts/Beam/BeamAnalyzer.cs
+++ Assets/Scripts/Beam/BeamAnalyzer.cs
@@ -281,21 +281,41 @@
             {
                 float l1 = GetLengthOfLoad(member.node2.number, false);
                 float l2 = GetLengthOfLoad(member.node2.number, true);
+
                 float L = l1 + l2;
+
                 float w = uniform.load;
-                int node1 = GetEndNodeIndex(member.node2.number, false);
-                int node2 = GetEndNodeIndex(member.node2.number, true);
-                Debug.Log("l1 = " + l1 + " l2 = " + l2 + " L = " + (l1 + l2) + " node1 = " + node1 + " Node2 = " + node2);
-
-                List<int> index = new List<int>() { node1 * 2, node1 * 2 + 1, node2 * 2, node2 * 2 + 1 };
-                float[] qfi = new float[4];
-
-                qfi[1] = w * Mathf.Pow(l1, 2) * (6 * Mathf.Pow(L, 2) - 8 * L * l1 + 3 * Mathf.Pow(l1, 2)) / (12 * Mathf.Pow(L, 2));
-                qfi[3] = -1 * w * Mathf.Pow(l1, 3) * (4 * L - 3 * l1) / (12 * Mathf.Pow(L, 2));
-                qfi[2] = (w * Mathf.Pow(l1, 2) / 2 - qfi[3] - qfi[1]) / L;
-                qfi[0] = w * l1 - qfi[2];
-                qf.Add(new IndexArray(index, qfi));
-            }else
+
+                if (!member.node2.support)
+                {
+                    int node1 = GetEndNodeIndex(member.node2.number, false);
+                    int node2 = GetEndNodeIndex(member.node2.number, true);
+                    Debug.Log("l1 = " + l1 + " l2 = " + l2 + " L = " + (l1 + l2) + " node1 = " + node1 + " Node2 = " + node2);
+
+                    List<int> index = new List<int>() { node1 * 2, node1 * 2 + 1, node2 * 2, node2 * 2 + 1 };
+                    float[] qfi = new float[4];
+
+                    qfi[1] = w * Mathf.Pow(l1, 2) * (6 * Mathf.Pow(L, 2) - 8 * L * l1 + 3 * Mathf.Pow(l1, 2)) / (12 * Mathf.Pow(L, 2));
+                    qfi[3] = -1 * w * Mathf.Pow(l1, 3) * (4 * L - 3 * l1) / (12 * Mathf.Pow(L, 2));
+                    qfi[2] = (w * Mathf.Pow(l1, 2) / 2 - qfi[3] - qfi[1]) / L;
+                    qfi[0] = w * l1 - qfi[2];
+                    qf.Add(new IndexArray(index, qfi));
+                }else
+                {
+                    int node1 = GetEndNodeIndex(member.node2.number, false);
+                    int node2 = GetEndNodeIndex(member.node2.number, true);
+                    Debug.Log("l1 = " + l1 + " l2 = " + l2 + " L = " + (l1 + l2) + " node1 = " + node1 + " Node2 = " + node2);
+                    L = member.length;
+                    List<int> index = new List<int>() { node1 * 2, node1 * 2 + 1, node2 * 2, node2 * 2 + 1 };
+                    float[] qfi = new float[4];
+                    qfi[0] = w * L / 2;
+                    qfi[1] = w * Mathf.Pow(L, 2) / 12;
+                    qfi[2] = w * L / 2;
+                    qfi[3] = w * Mathf.Pow(L, 2) / 12 * -1;
+                    qf.Add(new IndexArray(index, qfi));
+                }
+
+            }else if (member.node2.support)
             {
                 float l1 = GetLengthOfLoad(member.node1.number, false);
                 float l2 = GetLengthOfLoad(member.node1.number, true);
@@ -313,6 +333,17 @@
                 qfi[2] = w * l2 - qfi[0];
                 qfi[3] *= -1;
                 qf.Add(new IndexArray(index, qfi));
+            }else
+            {
+                float l1 = GetLengthOfLoad(member.node1.number, false);
+                float l2 = member.length;
+                float l3 = GetLengthOfLoad(member.node2.number, true);
+                float L = l1 + l2 + l3;
+                int node1 = GetEndNodeIndex(member.node1.number, false);
+                int node2 = GetEndNodeIndex(member.node2.number, true);
+
+                List<int> index = new List<int>() { node1 * 2, node1 * 2 + 1, node2 * 2, node2 * 2 + 1 };
+                float[] qfi = new float[4];
             }

         }


moving changes

moving changes

--- Assets/Scripts/CharacterMovement.cs
+++ Assets/Scripts/CharacterMovement.cs
@@ -6,7 +6,8 @@
     GROUNDED,
     JUMPING,
     FALLING,
-    CROUCHING
+    CROUCHING,
+    DANCING
 };

 [RequireComponent (typeof(Rigidbody2D))]
@@ -19,7 +20,7 @@
     public MovementState currentState;

     public bool isGrounded { get { return currentState == MovementState.GROUNDED; } }
-    public MovementState getCurrentState() { return currentState; }
+    public MovementState CurrentState { get; set; }

 	// Use this for initialization
 	void Start () {
@@ -28,19 +29,34 @@

 	// Update is called once per frame
 	void FixedUpdate () {
+        // get playerSprite borders
+        Vector2 topLeft = GameObject.Find("GroundHitCheckTopLeft").transform.position;
+        Vector2 bottomRight = GameObject.Find("GroundHitCheckBottomRight").transform.position;

+        /*float downspeed = 0f;// GetComponent<Rigidbody2D>().velocity.y*2;
+           if (GetComponent<Rigidbody2D>().velocity.y > -0.1f && currentState != MovementState.GROUNDED) downspeed = -9.81f;
+
+        if (Input.GetKeyDown(KeyCode.F))
+            Debug.Log(downspeed);
+*/
         // move left or right
         if (Input.GetAxis("Horizontal") > 0.1 || Input.GetAxis("Horizontal") < -0.1)
         {
-            float sideSpeed = Input.GetAxis("Horizontal") * Time.deltaTime * movementSpeed;
-            transform.position += new Vector3(sideSpeed, 0, 0);
+            float sideSpeed = Input.GetAxis("Horizontal") * Time.fixedDeltaTime * movementSpeed * 4f; ;
+
+            Vector2 characterVelocity = new Vector2(GetComponent<Rigidbody2D>().transform.position.x * -sideSpeed, GetComponent<Rigidbody2D>().velocity.y); // where y is gravity
+            GetComponent<Rigidbody2D>().velocity = characterVelocity;
+
+
+           // Vector3 newPosition = transform.position + new Vector3(sideSpeed, downspeed, 0);
+           //   GetComponent<Rigidbody2D>().MovePosition(newPosition);
+
+
         }
-        // get playerSprite borders
-        Vector2 topLeft = GameObject.Find("GroundHitCheckTopLeft").transform.position;
-        Vector2 bottomRight = GameObject.Find("GroundHitCheckBottomRight").transform.position;
+

         // jump  (Joystick Up or Button "A")
-        if ((Input.GetButtonDown("Jump") && currentState == MovementState.GROUNDED) || (Input.GetAxis("Vertical") > 0.2f && currentState == MovementState.GROUNDED))
+        if ((Input.GetButtonDown("Jump") && currentState == MovementState.GROUNDED) || (Input.GetAxis("Vertical") > 0.2f && currentState == MovementState.GROUNDED) )//&& downspeed == 0)
         {
             this.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, jumpingSpeed), ForceMode2D.Impulse);
             currentState = MovementState.JUMPING;
@@ -56,7 +72,7 @@

         if (Input.GetAxis("Vertical") < -0.2 && currentState == MovementState.GROUNDED)
         {
-            this.transform.localScale = new Vector3(1f, 0.5f, 1f);
+            // this.transform.localScale = new Vector3(1f, 0.5f, 1f);  replace Sprite
             currentState = MovementState.CROUCHING;
             movementSpeed /= 2;
         }
@@ -64,7 +80,7 @@
         // stand up
         if (Input.GetAxis("Vertical") > -0.2 && currentState == MovementState.CROUCHING)
         {
-            this.transform.localScale = new Vector3(1f, 1f, 1f);
+            // this.transform.localScale = new Vector3(1f, 1f, 1f); replace Sprite
             currentState = MovementState.GROUNDED;
             movementSpeed *= 2;


Force close dropdown when shifting menus

--- Assets/Scripts/Menu/MenuDropdown.cs
+++ Assets/Scripts/Menu/MenuDropdown.cs
@@ -32,7 +32,7 @@
     {
         if (GameMenu.shifting)
         {
-            if (!isOpen())
+            if (isOpen())
             {
                 animator.SetBool("CanHighlight", false);
                 dropdown.Hide();


fix name

fix name

--- Assets/Scripts/PlayerDataControl.cs
+++ Assets/Scripts/PlayerDataControl.cs
@@ -12,8 +12,8 @@
     public int deviceID = -1;
     public string status = "";
     public int ping = -1;
-    public bool isHelmet = false;
-    public bool isTracker = false;
+    public bool isViveCamera = false;
+    public bool isViveControllerRight = false;
     public string nowEvent = "-";
     public CheckViveCamera checkViveCamera;
     public CheckViveControllerRight checkViveControllerRight;
@@ -47,7 +47,7 @@

         if (PhotonNetwork.inRoom)
         {
-            GetComponent<PhotonView>().RPC("SyncStatus", PhotonTargets.All, deviceID, status, ping, isHelmet, isTracker, sceneName, nowEvent);
+            GetComponent<PhotonView>().RPC("SyncStatus", PhotonTargets.All, deviceID, status, ping, isViveCamera, isViveControllerRight, sceneName, nowEvent);
         }
     }

@@ -55,12 +55,12 @@
     {
         if (checkViveCamera)
         {
-            isHelmet = checkViveCamera.isViveCameraValid;
+            isViveCamera = checkViveCamera.isViveCameraValid;
         }

         if (checkViveControllerRight)
         {
-            isTracker = checkViveControllerRight.isViveControllerRight;
+            isViveControllerRight = checkViveControllerRight.isViveControllerRight;
         }
     }


Add constructors to create Polygons with colors

--- Assets/Voxelgon/Geometry/Polygon.cs
+++ Assets/Voxelgon/Geometry/Polygon.cs
@@ -30,6 +30,28 @@
         public Polygon(Vector3[] vertices, Vector3[] normals) {
             _vertices = (Vector3[]) vertices.Clone();
             _normals = (Vector3[]) normals.Clone();
+        }
+
+        public Polygon(List<Vector3> vertices, List<Color32> colors) {
+            _vertices = vertices.ToArray();
+            _colors = colors.ToArray();
+        }
+
+        public Polygon(Vector3[] vertices, Color32[] colors) {
+            _vertices = (Vector3[]) vertices.Clone();
+            _colors = (Color32[]) colors.Clone();
+        }
+
+        public Polygon(List<Vector3> vertices, List<Vector3> normals, List<Color32> colors) {
+            _vertices = vertices.ToArray();
+            _normals = normals.ToArray();
+            _colors = colors.ToArray();
+        }
+
+        public Polygon(Vector3[] vertices, Vector3[] normals, Color32[] colors) {
+            _vertices = (Vector3[]) vertices.Clone();
+            _normals = (Vector3[]) normals.Clone();
+            _colors = (Color32[]) colors.Clone();
         }

         public Polygon(Vector3 center, Vector3 normal, float radius, int sideCount) {


Changes resume script again... Now works, but not in the intended way.

--- Aurora/DotNetEngine/ScriptEngine.cs
+++ Aurora/DotNetEngine/ScriptEngine.cs
@@ -451,8 +451,11 @@
         public void ResumeScript(UUID itemID)
         {
             InstanceData ID = m_ScriptManager.GetScriptByItemID(itemID);
-            if (ID == null)
-                return;
+            while (ID == null)
+            {
+                System.Threading.Thread.Sleep(250);
+                ID = m_ScriptManager.GetScriptByItemID(itemID);
+            }
             ID.Suspended = false;
         }


Added links to Docs tech

Added links to Docs tech

--- BForms.Docs/Views/Home/Index.cshtml
+++ BForms.Docs/Views/Home/Index.cshtml
@@ -33,7 +33,7 @@

-
.NET Integration

+
.NET Integration

                 The BForms framework smoothly integrates Bootstrap with ASP.NET MVC on the server-side using
                 Razor HTML extension methods, custom model validator providers, model behavior throw attributes @*TODO: wtf?*@ and Json serialization.
@@ -42,7 +42,7 @@

-
JavaScript

+
JavaScript

                 Our JavaScript framework consists of AMD compatible modules that make client-side development easy.
                 Besides our controls, BForms comes with out of the box JavaScript components like Select2 and Typeahead.
@@ -51,7 +51,7 @@

-
NuGet

+
NuGet

                 BForms has several NuGet packages: assembly, JavaScript files and vs.net templates - this way you have full control over what you include in your project.
                 To make server-side debugging easy, we've set-up a symbol source package hosted on SymbolSource.


Change donation button from slider to input

--- BTCPayServer/Views/Home/Home.cshtml
+++ BTCPayServer/Views/Home/Home.cshtml
@@ -81,109 +81,8 @@

                 <form method="POST" action="https://mainnet.demo.btcpayserver.org/api/v1/invoices">
-                    <input type="hidden" name="storeId" value="9jT32zwtZ9m6DPNVYTLNQZiKQSEM5r4wTej6t3NDb4VR" />
-

-                        <input type="text" id="btcpay-input-price" name="price" value="10" style="border: none; background-image: none; background-color: transparent; -webkit-box-shadow: none ; -moz-box-shadow: none ; -webkit-appearance: none ; width: 209px; text-align: center; font-size: 25px; margin: auto; border-radius: 5px; line-height: 35px; background: #fff;" oninput="event.preventDefault();isNaN(event.target.value) || event.target.value <= 0 ? document.querySelector('#btcpay-input-price').value = 10 : event.target.value" onchange="document.querySelector('#btcpay-input-range').value = document.querySelector('#btcpay-input-price').value" /><select onchange="document.querySelector('input[type = hidden][name = currency]').value = event.target.value" style="-webkit-appearance: none; border: 0; display: block; padding: 0 3em; margin: auto auto 5px auto; font-size: 11px; background: 0 0; cursor: pointer;"><option value="USD">USD</option><option value="GBP">GBP</option><option value="EUR">EUR</option><option value="BTC">BTC</option></select><input class="btcpay-input-range" id="btcpay-input-range" value="10" type="range" min="1" max="20" step="1" style="width:209px ;margin-bottom:15px;" oninput="document.querySelector('#btcpay-input-price').value = document.querySelector('#btcpay-input-range').value" />
-
-

+                    <input type="hidden" name="storeId" value="EErYwCthBNfJUpuU1etH1uhg3x1YVH1q1F2zez7u1AAX" />
+

<button style="cursor:pointer; font-size:25px; line-height: 25px; background: rgba(0,0,0,.1); height: 30px; width: 45px; border:none; border-radius: 60px; margin: auto;" onclick="event.preventDefault(); var price = parseInt(document.querySelector('#btcpay-input-price').value); if ('-' == '-' && (price - 1) < 1) { return; } document.querySelector('#btcpay-input-price').value = parseInt(document.querySelector('#btcpay-input-price').value) - 1;">-</button><input type="text" id="btcpay-input-price" name="price" value="10" style="border: none; background-image: none; background-color: transparent; -webkit-box-shadow: none ; -moz-box-shadow: none ; -webkit-appearance: none ; width: 3em; text-align: center; font-size: 25px; margin: auto; border-radius: 5px; line-height: 35px; background: #fff;" oninput="event.preventDefault();isNaN(event.target.value) || event.target.value <= 0 ? document.querySelector('#btcpay-input-price').value = 10 : event.target.value" /><button style="cursor:pointer; font-size:25px; line-height: 25px; background: rgba(0,0,0,.1); height: 30px; width: 45px; border:none; border-radius: 60px; margin: auto;" onclick="event.preventDefault(); var price = parseInt(document.querySelector('#btcpay-input-price').value); if ('+' == '-' && (price - 1) < 1) { return; } document.querySelector('#btcpay-input-price').value = parseInt(document.querySelector('#btcpay-input-price').value) + 1;">+</button>
<select onchange="document.querySelector('input[type = hidden][name = currency]').value = event.target.value" style="-webkit-appearance: none; border: 0; display: block; padding: 0 3em; margin: auto auto 5px auto; font-size: 11px; background: 0 0; cursor: pointer;"><option value="USD">USD</option><option value="GBP">GBP</option><option value="EUR">EUR</option><option value="BTC">BTC</option></select>

                     <input type="hidden" name="currency" value="USD" />
                     <input type="image" src="~/img/paybutton/pay.png" name="submit" style="width:209px" alt="Pay with BtcPay, Self-Hosted Bitcoin Payment Processor">
                 </form>


(GH-38) Control when GitLink is executed

--- Cake.Recipe/Content/parameters.cake
+++ Cake.Recipe/Content/parameters.cake
@@ -317,6 +317,10 @@
                                 (IsMasterBranch || IsDevelopBranch) &&
                                 shouldGenerateDocumentation);

-        ShouldExecuteGitLink = shouldExecuteGitLink;
+        ShouldExecuteGitLink = (!IsLocalBuild &&
+                            !IsPullRequest &&
+                            IsMainRepository &&
+                            (IsMasterBranch || IsDevelopBranch) &&
+                            shouldExecuteGitLink);
     }
 }


Better debug details

Better debug details

--- Client/Windows/Debug/DebugWindow.cs
+++ Client/Windows/Debug/DebugWindow.cs
@@ -103,13 +103,15 @@
                     {
                         var ourVessel = FlightGlobals.ActiveVessel;

-                        StringBuilder.AppendLine($"Semi major axis: {ourVessel.orbitDriver.orbit.semiMajorAxis}");
-                        StringBuilder.AppendLine($"Eccentricity: {ourVessel.orbitDriver.orbit.eccentricity}");
-                        StringBuilder.AppendLine($"Inclination: {ourVessel.orbitDriver.orbit.inclination}");
-                        StringBuilder.AppendLine($"LAN: {ourVessel.orbitDriver.orbit.LAN}");
-                        StringBuilder.AppendLine($"Arg Periapsis: {ourVessel.orbitDriver.orbit.argumentOfPeriapsis}");
-                        StringBuilder.AppendLine($"Mean anomaly: {ourVessel.orbitDriver.orbit.meanAnomalyAtEpoch}");
-                        StringBuilder.AppendLine($"Epoch: {ourVessel.orbitDriver.orbit.epoch}");
+                        StringBuilder.AppendLine($"Id: {ourVessel.id}");
+                        StringBuilder.AppendLine($"Mode: {ourVessel.orbitDriver.updateMode}");
+                        StringBuilder.AppendLine($"Semi major axis: {ourVessel.orbit.semiMajorAxis}");
+                        StringBuilder.AppendLine($"Eccentricity: {ourVessel.orbit.eccentricity}");
+                        StringBuilder.AppendLine($"Inclination: {ourVessel.orbit.inclination}");
+                        StringBuilder.AppendLine($"LAN: {ourVessel.orbit.LAN}");
+                        StringBuilder.AppendLine($"Arg Periapsis: {ourVessel.orbit.argumentOfPeriapsis}");
+                        StringBuilder.AppendLine($"Mean anomaly: {ourVessel.orbit.meanAnomalyAtEpoch}");
+                        StringBuilder.AppendLine($"Epoch: {ourVessel.orbit.epoch}");

                         _orbitText = StringBuilder.ToString();
                         StringBuilder.Length = 0;
@@ -129,13 +131,14 @@
                             if (vessel.id != FlightGlobals.ActiveVessel?.id && vessel.orbitDriver?.orbit != null)
                             {
                                 StringBuilder.AppendLine($"Id: {vessel.id}");
-                                StringBuilder.AppendLine($"Semi major axis: {vessel.orbitDriver.orbit.semiMajorAxis}");
-                                StringBuilder.AppendLine($"Eccentricity: {vessel.orbitDriver.orbit.eccentricity}");
-                                StringBuilder.AppendLine($"Inclination: {vessel.orbitDriver.orbit.inclination}");
-                                StringBuilder.AppendLine($"LAN: {vessel.orbitDriver.orbit.LAN}");
-                                StringBuilder.AppendLine($"Arg Periapsis: {vessel.orbitDriver.orbit.argumentOfPeriapsis}");
-                                StringBuilder.AppendLine($"Mean anomaly: {vessel.orbitDriver.orbit.meanAnomalyAtEpoch}");
-                                StringBuilder.AppendLine($"Epoch: {vessel.orbitDriver.orbit.epoch}");
+                                StringBuilder.AppendLine($"Mode: {vessel.orbitDriver.updateMode}");
+                                StringBuilder.AppendLine($"Semi major axis: {vessel.orbit.semiMajorAxis}");
+                                StringBuilder.AppendLine($"Eccentricity: {vessel.orbit.eccentricity}");
+                                StringBuilder.AppendLine($"Inclination: {vessel.orbit.inclination}");
+                                StringBuilder.AppendLine($"LAN: {vessel.orbit.LAN}");
+                                StringBuilder.AppendLine($"Arg Periapsis: {vessel.orbit.argumentOfPeriapsis}");
+                                StringBuilder.AppendLine($"Mean anomaly: {vessel.orbit.meanAnomalyAtEpoch}");
+                                StringBuilder.AppendLine($"Epoch: {vessel.orbit.epoch}");
                                 StringBuilder.AppendLine();
                             }


remove unused field orderer in ObserveRelation

--- CoAP.NET/Observe/ObserveRelation.cs
+++ CoAP.NET/Observe/ObserveRelation.cs
@@ -26,7 +26,6 @@
     {
         static readonly ILogger log = LogManager.GetLogger(typeof(ObserveRelation));
         readonly ICoapConfig _config;
-        readonly ObserveNotificationOrderer _orderer;
         readonly ObservingEndpoint _endpoint;
         readonly IResource _resource;
         readonly Exchange _exchange;
@@ -60,7 +59,6 @@
             if (exchange == null)
                 throw ThrowHelper.ArgumentNull("exchange");
             _config = config;
-            _orderer = new ObserveNotificationOrderer(config);
             _endpoint = endpoint;
             _resource = resource;
             _exchange = exchange;


Revert "Removing 'zzz' from method name"

This reverts commit 05e1115699ce4f4550dd112b06bb8ba107daacd0.

--- Collections/Paging/PagingHelpers.cs
+++ Collections/Paging/PagingHelpers.cs
@@ -13,7 +13,7 @@
 		/// <param name="page">the 1 indexed page number you are interested in, cannot be zero or negative</param>
 		/// <param name="pageSize">the size of the page you want, cannot be zero or negative</param>
 		/// <returns>A queryable of the page of entities with counts appended.</returns>
-		public static IQueryable<EntityWithCount<T>> GetPageWithTotal<T>(this IQueryable<T> entities, int page, int pageSize) where T : class
+		public static IQueryable<EntityWithCount<T>> GetPageWithTotalzzz<T>(this IQueryable<T> entities, int page, int pageSize) where T : class
 		{
 			if (entities == null)
 			{


Added documentation for the Set-SPOListPermission cmdlet

--- Commands/Lists/SetListPermission.cs
+++ Commands/Lists/SetListPermission.cs
@@ -11,6 +11,14 @@
     [Cmdlet(VerbsCommon.Set, "SPOListPermission")]
     [CmdletHelp("Sets list permissions",
         Category = CmdletHelpCategory.Lists)]
+    [CmdletExample(
+        Code = "PS:> Set-SPOListPermission -Identity 'Documents' -User 'user@contoso.com' -AddRole 'Contribute'",
+        Remarks = "Adds the 'Contribute' permission to the user 'user@contoso.com' for the list 'Documents'",
+        SortOrder = 1)]
+    [CmdletExample(
+        Code = "PS:> Set-SPOListPermission -Identity 'Documents' -User 'user@contoso.com' -RemoveRole 'Contribute'",
+        Remarks = "Removes the 'Contribute' permission to the user 'user@contoso.com' for the list 'Documents'",
+        SortOrder = 2)]
     public class SetListPermission : SPOWebCmdlet
     {
         [Parameter(Mandatory = true, ParameterSetName = ParameterAttribute.AllParameterSets)]


September 2017 Release

September 2017 Release

--- Commands/Properties/AssemblyInfo.cs
+++ Commands/Properties/AssemblyInfo.cs
@@ -44,6 +44,6 @@
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.17.1708.1")]
-[assembly: AssemblyFileVersion("2.17.1708.1")]
+[assembly: AssemblyVersion("2.18.1709.0")]
+[assembly: AssemblyFileVersion("2.18.1709.0")]
 [assembly: InternalsVisibleTo("SharePointPnP.PowerShell.Tests")]


Bump version to 1.5.5776.

Bump version to 1.5.5776.

--- DNSAgent/Properties/AssemblyInfo.cs
+++ DNSAgent/Properties/AssemblyInfo.cs
@@ -35,5 +35,5 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]

-[assembly: AssemblyVersion("1.4.*")]
+[assembly: AssemblyVersion("1.5.*")]
 [assembly: AssemblyFileVersion("1.0.0.0")]


fixed save and load in dynamic parameter

--- Dev/Editor/EffekseerCore/Data/IO.cs
+++ Dev/Editor/EffekseerCore/Data/IO.cs
@@ -75,7 +75,7 @@
 			var e = doc.CreateElement(element_name);
 			for (int i = 0; i < collection.Values.Count; i++)
 			{
-				var e_node = SaveToElement(doc, collection.Values[i].GetType().Name, collection.Values[i], isClip);
+				var e_node = SaveToElement(doc, collection.Values[i].GetType().Name, collection.Values[i], true);
 				if(e_node != null)
 				{
 					e.AppendChild(e_node);
@@ -160,6 +160,13 @@
 			if (y != null) e.AppendChild(y);
 			if (z != null) e.AppendChild(z);

+			var d_ind = Core.Dynamic.Vectors.GetIndex(value.DynamicParameter);
+			if(d_ind >= 0)
+			{
+				var d = doc.CreateTextElement("DynamicParameter", d_ind.ToString());
+				e.AppendChild(d);
+			}
+
 			return e.ChildNodes.Count > 0 ? e : null;
 		}

@@ -228,6 +235,20 @@
 			if (y != null) e.AppendChild(y);
 			if (z != null) e.AppendChild(z);
 			if (da != null) e.AppendChild(da);
+
+			var d_ind_min = Core.Dynamic.Vectors.GetIndex(value.DynamicParameterMin);
+			if (d_ind_min >= 0)
+			{
+				var d = doc.CreateTextElement("DynamicParameterMin", d_ind_min.ToString());
+				e.AppendChild(d);
+			}
+
+			var d_ind_max = Core.Dynamic.Vectors.GetIndex(value.DynamicParameterMax);
+			if (d_ind_max >= 0)
+			{
+				var d = doc.CreateTextElement("DynamicParameterMax", d_ind_max.ToString());
+				e.AppendChild(d);
+			}

 			return e.ChildNodes.Count > 0 ? e : null;
 		}
@@ -614,10 +635,22 @@
 			var e_x = e["X"] as XmlElement;
 			var e_y = e["Y"] as XmlElement;
 			var e_z = e["Z"] as XmlElement;
+			var e_d = e["DynamicParameter"] as XmlElement;

 			if (e_x != null) LoadFromElement(e_x, value.X, isClip);
 			if (e_y != null) LoadFromElement(e_y, value.Y, isClip);
 			if (e_z != null) LoadFromElement(e_z, value.Z, isClip);
+
+			if (e_d != null)
+			{
+				var ind = e_d.GetTextAsInt();
+				if(0 <= ind && ind < Core.Dynamic.Vectors.Values.Count)
+				{
+					var d = Core.Dynamic.Vectors.Values[ind];
+					value.SetDynamicParameter(d);
+					value.IsDynamicParameterEnabled = true;
+				}
+			}
 		}

 		public static void LoadFromElement(XmlElement e, Value.Color value, bool isClip)
@@ -756,6 +789,8 @@
 			var e_y = e["Y"] as XmlElement;
 			var e_z = e["Z"] as XmlElement;
 			var e_da = e["DrawnAs"];
+			var e_d_min = e["DynamicParameterMin"] as XmlElement;
+			var e_d_max = e["DynamicParameterMax"] as XmlElement;

 			if (e_x != null) LoadFromElement(e_x, value.X, isClip);
 			if (e_y != null) LoadFromElement(e_y, value.Y, isClip);
@@ -764,6 +799,28 @@
 			if (e_da != null)
 			{
 				value.DrawnAs = (DrawnAs)e_da.GetTextAsInt();
+			}
+
+			if (e_d_min != null)
+			{
+				var ind = e_d_min.GetTextAsInt();
+				if (0 <= ind && ind < Core.Dynamic.Vectors.Values.Count)
+				{
+					var d = Core.Dynamic.Vectors.Values[ind];
+					value.SetDynamicParameterMin(d);
+					value.IsDynamicParameterEnabled = true;
+				}
+			}
+
+			if (e_d_max != null)
+			{
+				var ind = e_d_max.GetTextAsInt();
+				if (0 <= ind && ind < Core.Dynamic.Vectors.Values.Count)
+				{
+					var d = Core.Dynamic.Vectors.Values[ind];
+					value.SetDynamicParameterMax(d);
+					value.IsDynamicParameterEnabled = true;
+				}
 			}
 		}


first iterations of fixes

first iterations of fixes

--- exceldna/Source/ABM.Data.Services/ManagedObject.cs
+++ exceldna/Source/ABM.Data.Services/ManagedObject.cs
@@ -3,7 +3,7 @@
 //
 // </copyright>
 // <summary>
-//   The managed object.
+//   The managed object wrapper. Object envelope which enables tracking of the object in the object manager service.
 // </summary>
 // --------------------------------------------------------------------------------------------------------------------
 namespace ABM.Data.Services
@@ -18,16 +18,16 @@
         /// <summary>
         /// Initializes a new instance of the <see cref="ManagedObject"/> class.
         /// </summary>
-        /// <param name="key">
-        /// The key.
+        /// <param name="name">
+        /// The name.
         /// </param>
         /// <param name="o">
         /// The o.
         /// </param>
-        public ManagedObject(string key, object o)
+        public ManagedObject(string name, object o)
         {
-            this.Key = key;
-            this.Object = o;
+            this.Name = name;
+            this.RawObject = o;
             this.Version = 1;
         }

@@ -36,14 +36,14 @@
         #region Public Properties

         /// <summary>
-        /// Gets or sets the key.
+        ///     Gets or sets the name.
         /// </summary>
-        public string Key { get; set; }
+        public string Name { get; set; }

         /// <summary>
         ///     Gets or sets the object.
         /// </summary>
-        public object Object { get; set; }
+        public object RawObject { get; set; }

         /// <summary>
         ///     Gets or sets the version.
@@ -63,24 +63,46 @@
         /// <returns>
         /// The <see cref="string"/>.
         /// </returns>
-        public static string KeyString(string reference)
+        public static string NameString(string reference)
         {
             return reference.Split('#')[0];
         }

         /// <summary>
-        /// The to string.
+        ///     Returns the string representation of the storage key.
         /// </summary>
         /// <returns>
-        /// The <see cref="string"/>.
+        ///     The <see cref="string" />.
+        /// </returns>
+        public string KeyString()
+        {
+            return string.Format("{0}#{1}", this.Name, this.Version);
+        }
+
+        /// <summary>
+        ///     Returns the string representation of the underlying object.
+        /// </summary>
+        /// <returns>
+        ///     The <see cref="string" />.
         /// </returns>
         public override string ToString()
         {
-            return string.Format("{0}#{1}", this.Key, this.Version);
+            return this.RawObject.ToString();
         }

         /// <summary>
-        ///     The update version.
+        /// Update the object which is pointed to.
+        /// </summary>
+        /// <param name="o">
+        /// </param>
+        public void Update(object o)
+        {
+            this.RawObject = o;
+            this.UpdateVersion();
+        }
+
+        /// <summary>
+        ///     Tick up the version of the object to be saved by 1.
         /// </summary>
         public void UpdateVersion()
         {


Add failing test condition

Add failing test condition

--- tests/Avalonia.Controls.UnitTests/TextBoxTests.cs
+++ tests/Avalonia.Controls.UnitTests/TextBoxTests.cs
@@ -378,7 +378,7 @@

         [Theory]
         [InlineData(new object[] { false, TextWrapping.NoWrap, ScrollBarVisibility.Hidden })]
-        [InlineData(new object[] { false, TextWrapping.Wrap, ScrollBarVisibility.Hidden })]
+        [InlineData(new object[] { false, TextWrapping.Wrap, ScrollBarVisibility.Disabled })]
         [InlineData(new object[] { true, TextWrapping.NoWrap, ScrollBarVisibility.Auto })]
         [InlineData(new object[] { true, TextWrapping.Wrap, ScrollBarVisibility.Disabled })]
         public void Has_Correct_Horizontal_ScrollBar_Visibility(


認証が必要な機能の変更

認証が必要な機能の変更

--- tetsujin/tetsujin/Controllers/MasterController.cs
+++ tetsujin/tetsujin/Controllers/MasterController.cs
@@ -9,10 +9,11 @@

 namespace tetsujin.Controllers
 {
+    [AuthorizationFilter]
     [Route("Master")]
     public class MasterController : Controller
     {
-        [AuthorizationFilter]
+
         [Route("")]
         public IActionResult Index()
         {


Fix tests that used Program

Fix tests that used Program

Needed to substitute for Program a bit better.

--- test/GitHub.Api.UnitTests/SimpleApiClientFactoryTests.cs
+++ test/GitHub.Api.UnitTests/SimpleApiClientFactoryTests.cs
@@ -16,7 +16,7 @@
         public async Task CreatesNewInstanceOfSimpleApiClient()
         {
             const string url = "https://github.com/github/CreatesNewInstanceOfSimpleApiClient";
-            var program = Substitute.For<IProgram>();
+            var program = CreateProgram();
             var keychain = Substitute.For<IKeychain>();
             var enterpriseProbe = Substitute.For<IEnterpriseProbe>();
             var wikiProbe = Substitute.For<IWikiProbe>();
@@ -40,7 +40,7 @@
         public async Task RemovesClientFromCache()
         {
             const string url = "https://github.com/github/RemovesClientFromCache";
-            var program = Substitute.For<IProgram>();
+            var program = CreateProgram();
             var enterpriseProbe = Substitute.For<IEnterpriseProbe>();
             var wikiProbe = Substitute.For<IWikiProbe>();
             var factory = new SimpleApiClientFactory(
@@ -56,6 +56,13 @@
         }
     }

+    static IProgram CreateProgram()
+    {
+        var program = Substitute.For<IProgram>();
+        program.ProductHeader.Returns(new ProductHeaderValue("ProductName"));
+        return program;
+    }
+
     static IKeychain CreateKeychain()
     {
         var result = Substitute.For<IKeychain>();


Limit Tasks to a single thread

Limit Tasks to a single thread

[skip ci]
https://github.com/xunit/xunit/issues/244#issuecomment-68325962

--- tests/Avalonia.Base.UnitTests/Properties/AssemblyInfo.cs
+++ tests/Avalonia.Base.UnitTests/Properties/AssemblyInfo.cs
@@ -7,4 +7,5 @@
 [assembly: AssemblyTitle("Avalonia.UnitTests")]

 // Don't run tests in parallel.
-[assembly: CollectionBehavior(DisableTestParallelization = true)]+[assembly: CollectionBehavior(DisableTestParallelization = true)]
+[assembly: CollectionBehavior(MaxParallelThreads = 1)]


Fix #17.

Fix #17.

--- wallabag/wallabag.Shared/DataModel/wallabagItemSource.cs
+++ wallabag/wallabag.Shared/DataModel/wallabagItemSource.cs
@@ -226,9 +226,9 @@
         {
             var _temp = new Dictionary<string, object>();

-            try
-            {
-                StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("items.xml");
+            StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("items.xml");
+            if (file != null)
+            {
                 using (IInputStream inStream = await file.OpenSequentialReadAsync())
                 {
                     DataContractSerializer serializer = new DataContractSerializer(typeof(Dictionary<string, object>), new List<Type>() { typeof(Item) });
@@ -238,10 +238,7 @@
                 foreach (var i in _temp)
                     Items.Add(i.Key, i.Value);
             }
-            catch (FileNotFoundException)
-            {
-                return;
-            }
+
         }
     }
 }


[Modify] Edit it

[Modify] Edit it

--- websocket-sharp/Server/WebSocketServiceManager.cs
+++ websocket-sharp/Server/WebSocketServiceManager.cs
@@ -120,7 +120,7 @@
     /// </value>
     /// <param name="path">
     ///   <para>
-    ///   A <see cref="string"/> that represents an absolute path to
+    ///   A <see cref="string"/> that specifies an absolute path to
     ///   the service to find.
     ///   </para>
     ///   <para>


Added Check if user has profile access, if not json string is not rendered

--- yafsrc/YetAnotherForum.NET/Classes/YafResourceHandler.cs
+++ yafsrc/YetAnotherForum.NET/Classes/YafResourceHandler.cs
@@ -45,7 +45,6 @@
     using YAF.Types.Constants;
     using YAF.Types.Extensions;
     using YAF.Types.Interfaces;
-    using YAF.Types.Interfaces.Data;
     using YAF.Types.Models;
     using YAF.Utils;
     using YAF.Utils.Extensions;
@@ -54,7 +53,7 @@
     #endregion

     /// <summary>
-    /// Yaf Resource Handler for all kind of Stuff (Avatars, Attachments, Albums, etc.)
+    /// YAF Resource Handler for all kind of Stuff (Avatars, Attachments, Albums, etc.)
     /// </summary>
     public class YafResourceHandler : IHttpHandler, IReadOnlySessionState, IHaveServiceLocator
     {
@@ -111,17 +110,17 @@
                 var previewCropped = false;
                 var localizationFile = "english.xml";

-                if (context.Session["imagePreviewCropped"] != null && context.Session["imagePreviewCropped"] is bool)
+                if (context.Session["imagePreviewCropped"] is bool)
                 {
                     previewCropped = (bool)context.Session["imagePreviewCropped"];
                 }

-                if (context.Session["localizationFile"] != null && context.Session["localizationFile"] is string)
+                if (context.Session["localizationFile"] is string)
                 {
                     localizationFile = context.Session["localizationFile"].ToString();
                 }

-                if (context.Session["localizationFile"] != null && context.Session["localizationFile"] is string)
+                if (context.Session["localizationFile"] is string)
                 {
                     localizationFile = context.Session["localizationFile"].ToString();
                 }
@@ -472,7 +471,7 @@
         }

         /// <summary>
-        /// Gets the user info as json string
+        /// Gets the user info as JSON string for the hover cards
         /// </summary>
         /// <param name="context">The context.</param>
         private void GetUserInfo([NotNull] HttpContext context)
@@ -487,6 +486,14 @@
                 {
                     context.Response.Write(
                    "Error: Resource has been moved or is unavailable. Please contact the forum admin.");
+
+                    return;
+                }
+
+                // Check if user has access
+                if (!this.Get<IPermissions>().Check(this.Get<YafBoardSettings>().ProfileViewPermissions))
+                {
+                    context.Response.Write(string.Empty);

                     return;
                 }
@@ -1160,12 +1167,12 @@
             var previewMaxWidth = 200;
             var previewMaxHeight = 200;

-            if (context.Session["imagePreviewWidth"] != null && context.Session["imagePreviewWidth"] is int)
+            if (context.Session["imagePreviewWidth"] is int)
             {
                 previewMaxWidth = (int)context.Session["imagePreviewWidth"];
             }

-            if (context.Session["imagePreviewHeight"] != null && context.Session["imagePreviewHeight"] is int)
+            if (context.Session["imagePreviewHeight"] is int)
             {
                 previewMaxHeight = (int)context.Session["imagePreviewHeight"];
             }
@@ -1267,8 +1274,7 @@
                 this.Get<ILogger>().Log(
                     null,
                     this,
-                    "Remote Avatar is NOT supported on your Hosting Permission Level (must be High)",
-                    EventLogTypes.Error);
+                    "Remote Avatar is NOT supported on your Hosting Permission Level (must be High)");
                 return;
             }


OK, this *resolver* isn't consulted on Mono either, maybe the pne of Schemas

git-svn-id: 9499ca894a8a68cdff32de8c8c545ddc6cb0944b@420 458802cb-8328-0410-b1d9-a76001e3bb52

--- xmlunit/src/main/net-core/validation/Validator.cs
+++ xmlunit/src/main/net-core/validation/Validator.cs
@@ -101,6 +101,7 @@
                     try {
                         XmlSchema s = XmlSchema.Read(loc.Reader, ThrowOnError);
                         settings.Schemas.Add(s);
+                        settings.Schemas.XmlResolver = new ThrowingResolver();
                     } catch (IOException ex) {
                         throw new XMLUnitException("Schema is not readable",
                                                    ex);
@@ -109,7 +110,6 @@
             }
             List<ValidationProblem> problems = new List<ValidationProblem>();
             settings.ValidationEventHandler += CollectProblems(problems);
-            settings.XmlResolver = new ThrowingResolver();
             using (XmlReader r = XmlReader.Create(instance.Reader,
                                                   settings)) {
                 while (r.Read()) ;


Fixed "Active Topics" RSS bug related to CategoryID.

--- yafsrc/YetAnotherForum.NET/pages/rsstopic.ascx.cs
+++ yafsrc/YetAnotherForum.NET/pages/rsstopic.ascx.cs
@@ -142,21 +142,21 @@

 					break;
 				case "active":
-					using (
-						DataTable dt =
-							DB.topic_active(PageContext.PageBoardID, PageContext.PageUserID,
-							                DateTime.Now + TimeSpan.FromHours(-24), PageContext.Settings.CategoryID))
-					{
-						foreach (DataRow row in dt.Rows)
-						{
-							rf.AddRSSItem(writer,
-							              General.BadWordReplace(row["Subject"].ToString()),
-							              YafForumInfo.ServerURL +
-							              YafBuildLink.GetLinkNotEscaped(ForumPages.posts, "t={0}", row["LinkTopicID"]),
-							              General.BadWordReplace(row["Subject"].ToString()));
-						}
-					}
-					break;
+using (
+	DataTable dt =
+		DB.topic_active(PageContext.PageBoardID, PageContext.PageUserID,
+		DateTime.Now + TimeSpan.FromHours( -24 ), ( PageContext.Settings.CategoryID == 0 ) ? null : (object)PageContext.Settings.CategoryID ) )
+{
+	foreach (DataRow row in dt.Rows)
+	{
+		rf.AddRSSItem(writer,
+		              General.BadWordReplace(row["Subject"].ToString()),
+		              YafForumInfo.ServerURL +
+		              YafBuildLink.GetLinkNotEscaped(ForumPages.posts, "t={0}", row["LinkTopicID"]),
+		              General.BadWordReplace(row["Subject"].ToString()));
+	}
+}
+break;
 				default:
 					break;
 			}


fixed nullability annotation on ConverterExtension.ToPython

--- src/runtime/converter.cs
+++ src/runtime/converter.cs
@@ -937,7 +937,7 @@

     public static class ConverterExtension
     {
-        public static PyObject ToPython(this object o)
+        public static PyObject ToPython(this object? o)
         {
             if (o is null) return Runtime.None;
             return new PyObject(Converter.ToPython(o, o.GetType()));


Fixes U4-725 Image Cropper - Quality field does not save

--- src/umbraco.editorControls/imagecropper/PrevalueEditor.cs
+++ src/umbraco.editorControls/imagecropper/PrevalueEditor.cs
@@ -293,16 +293,17 @@

         /// <summary>
         /// Serialize configuration to:
-        /// uploadPropertyAlias,generateImages,showLabel|presetTemplateName,targetWidth,targetHeight,keepAspect;
+        /// uploadPropertyAlias,generateImages,quality,showLabel|presetTemplateName,targetWidth,targetHeight,keepAspect;
         /// </summary>
         public void Save()
         {
             _dataType.DBType = (umbraco.cms.businesslogic.datatype.DBTypes)Enum.Parse(
                                                                                typeof(umbraco.cms.businesslogic.datatype.DBTypes), DBTypes.Ntext.ToString(), true);
-            string generalData = String.Format("{0},{1},{2}",
+            string generalData = String.Format("{0},{1},{2},{3}",
                                                txtPropertyAlias.Text,
                                                chkGenerateCrops.Checked ? "1" : "0",
-                                               chkShowLabel.Checked ? "1" : "0"
+                                               chkShowLabel.Checked ? "1" : "0",
+                                               txtQuality.Text
                 );

             string templateData = "";


Fixing Obsolete UnityWebRequest method

Fixing Obsolete UnityWebRequest method

--- Assets/Colyseus/Runtime/Scripts/ColyseusRequest.cs
+++ Assets/Colyseus/Runtime/Scripts/ColyseusRequest.cs
@@ -53,7 +53,7 @@
             req.downloadHandler = new DownloadHandlerBuffer();
             await req.SendWebRequest();

-            if (req.isNetworkError || req.isHttpError)
+            if (req.result== UnityWebRequest.Result.ConnectionError || req.result== UnityWebRequest.Result.ProtocolError)
             {
                 if (_serverSettings.useSecureProtocol)
                 {
@@ -110,7 +110,7 @@
             req.downloadHandler = new DownloadHandlerBuffer();
             await req.SendWebRequest();

-            if (req.isNetworkError || req.isHttpError)
+            if (req.result== UnityWebRequest.Result.ConnectionError || req.result== UnityWebRequest.Result.ProtocolError)
             {
                 if (_serverSettings.useSecureProtocol)
                 {


Fix unclickable deadzones around players when firing at them

--- Assets/scripts/PlayGroups/Input/InputController.cs
+++ Assets/scripts/PlayGroups/Input/InputController.cs
@@ -114,6 +114,11 @@
 				}
 			}

+			//Clicking on tile with something, but missing it's pixels. Attempt to use object in hand
+			if (hits.Count() > 0 && spriteRenderers.Count == 0) {
+				InteractHands();
+			}
+
 			//check if we found nothing at all
 			return hits.Count() > 0;
 		}
@@ -156,7 +161,7 @@
 		private bool Interact(Transform _transform)
 		{
 			if (playerMove.isGhost)
-				return false;;
+				return false;

 			//attempt to trigger the things in range we clicked on
 			if (PlayerManager.LocalPlayerScript.IsInReach(_transform)) {


Improved performance by modifying InputConnection into a struct

--- AutoDiff/Core/AutoDiff/Compiled/InputConnection.cs
+++ AutoDiff/Core/AutoDiff/Compiled/InputConnection.cs
@@ -5,7 +5,7 @@

 namespace AutoDiff.Compiled
 {
-    class InputEdge
+    struct InputEdge
     {
         public int Index;
         public double Weight;


Fix bug: The wallet was sending only round amount of sat per byte

--- BTCPayServer/Controllers/WalletsController.PSBT.cs
+++ BTCPayServer/Controllers/WalletsController.PSBT.cs
@@ -51,7 +51,7 @@
             if (sendModel.FeeSatoshiPerByte is decimal v &&
                 v > decimal.Zero)
             {
-                psbtRequest.FeePreference.ExplicitFeeRate = new FeeRate(Money.Satoshis(v), 1);
+                psbtRequest.FeePreference.ExplicitFeeRate = new FeeRate(v);
             }
             if (sendModel.NoChange)
             {


api/mealplans/addto added

api/mealplans/addto added

--- Backend/Backend/Controllers/MealPlansController.cs
+++ Backend/Backend/Controllers/MealPlansController.cs
@@ -70,10 +70,10 @@

         [Route("api/MealPlans/AddTo")]
         [AcceptVerbs("POST")]
-        public IHttpActionResult AddToCurrentUsersPlan(string id)
+        public IHttpActionResult AddToCurrentUsersPlan(Meal currentMeal)
         {
             var currentUsersName = RequestContext.Principal.Identity.Name;
-
+            var id = currentMeal.Id;
             if (db.MealPlans.Where(w => w.User.Email == currentUsersName).First() == null)
             {
                 MealPlan mealPlan = new MealPlan();


RasterToPolygon: small refactoring

RasterToPolygon: small refactoring

--- DotSpatial.Tools/RasterToPolygon.cs
+++ DotSpatial.Tools/RasterToPolygon.cs
@@ -115,7 +115,7 @@

             output.DataTable.Columns.Add("Value", typeof(double));

-            var featureHash = new Dictionary<double,  List<LineSegment>>();
+            var featureHash = new Dictionary<double, LineSegmentList>();
             var previous = 0.0;

             var height = input.CellHeight;
@@ -146,66 +146,66 @@
                         continue;
                     }

-                    List<LineSegment> lineList;
+                    LineSegmentList lineList;
                     if (!featureHash.TryGetValue(value, out lineList))
                     {
-                        lineList = new List<LineSegment>();
+                        lineList = new LineSegmentList();
                         featureHash.Add(value, lineList);
                     }

                     if (y == 0)
                     {
-                        AddSegment(lineList, x*width + xMin, yMax, (x + 1)*width + xMin, yMax);
+                        lineList.AddSegment(xMin + x*width, yMax, xMin + (x + 1)*width, yMax);
                         if (input.Value[y + 1, x] != value)
                         {
-                            AddSegment(lineList, x*width + xMin, yMax - height, (x + 1)*width + xMin, yMax - height);
+                            lineList.AddSegment(xMin + x*width, yMax - height, xMin + (x + 1)*width, yMax - height);
                         }
                     }
                     else if (y == (numRows - 1))
                     {
-                        AddSegment(lineList, x*width + xMin, yMin, (x + 1)*width + xMin, yMin);
+                        lineList.AddSegment(xMin + x*width, yMin, xMin + (x + 1)*width, yMin);
                         if (input.Value[y - 1, x] != value)
                         {
-                            AddSegment(lineList, x*width + xMin, yMin + height, (x + 1)*width + xMin, yMin + height);
+                            lineList.AddSegment(xMin + x*width, yMin + height, xMin + (x + 1)*width, yMin + height);
                         }
                     }
                     else
                     {
                         if (input.Value[y + 1, x] != value)
                         {
-                            AddSegment(lineList, x*width + xMin, yMax - (y + 1)*height, (x + 1)*width + xMin, yMax - (y + 1)*height);
+                            lineList.AddSegment(xMin + x * width, yMax - (y + 1) * height, xMin + (x + 1) * width, yMax - (y + 1) * height);
                         }
                         if (input.Value[y - 1, x] != value)
                         {
-                            AddSegment(lineList, x*width + xMin, yMax - y*height, (x + 1)*width + xMin, yMax - y*height);
+                            lineList.AddSegment(xMin + x * width, yMax - y * height, xMin + (x + 1) * width, yMax - y * height);
                         }
                     }

                     if (x == 0)
                     {
-                        AddSegment(lineList, xMin, yMax - y * height, xMin, yMax - (y + 1) * height);
+                        lineList.AddSegment(xMin, yMax - y*height, xMin, yMax - (y + 1)*height);
                         if (input.Value[y, x + 1] != value)
                         {
-                            AddSegment(lineList, xMin + width, yMax - y*height, xMin + width, yMax - (y + 1)*height);
+                            lineList.AddSegment(xMin + width, yMax - y*height, xMin + width, yMax - (y + 1)*height);
                         }
                     }
                     else if (x == (numColumns - 1))
                     {
-                        AddSegment(lineList, xMax, yMax - y * height, xMax, yMax - (y + 1) * height);
+                        lineList.AddSegment(xMax, yMax - y*height, xMax, yMax - (y + 1)*height);
                         if (input.Value[y, x - 1] != value)
                         {
-                            AddSegment(lineList, xMax - width, yMax - y*height, xMax - width, yMax - (y + 1)*height);
+                            lineList.AddSegment(xMax - width, yMax - y*height, xMax - width, yMax - (y + 1)*height);
                         }
                     }
                     else
                     {
                         if (input.Value[y, x + 1] != value)
                         {
-                            AddSegment(lineList, xMin + (x + 1) * width, yMax - (y * height), xMin + (x + 1) * width, yMax - (y + 1) * height);
+                            lineList.AddSegment(xMin + (x + 1)*width, yMax - y*height, xMin + (x + 1)*width, yMax - (y + 1)*height);
                         }
                         if (input.Value[y, x - 1] != value)
                         {
-                            AddSegment(lineList, xMin + x * width, yMax - (y * height), xMin + x*width, yMax - (y + 1)*height);
+                            lineList.AddSegment(xMin + x*width, yMax - y*height, xMin + x*width, yMax - (y + 1)*height);
                         }
                     }

@@ -222,24 +222,22 @@
                 sw.Restart();

                 var key = pair.Key;
-                var lineSegList = pair.Value;
+                var lineSegList = pair.Value.List;

                 var polyList = new List<Polygon>();
                 while (lineSegList.Count != 0)
                 {
                     var polyShell = new List<Coordinate>();
-                    LineSegment start = lineSegList[0];
+                    var start = lineSegList[0];
                     polyShell.Add(start.P0);
                     polyShell.Add(start.P1);
                     lineSegList.Remove(start);
+
                     while (!polyShell[0].Equals2D(polyShell[polyShell.Count - 1]))
                     {
-                        LineSegment segment =
-                            lineSegList.Find(
-                                o =>
-                                o.P0.Equals2D(polyShell[polyShell.Count - 1])
-                                || o.P1.Equals2D(polyShell[polyShell.Count - 1]));
-                        polyShell.Add(segment.P0.Equals2D(polyShell[polyShell.Count - 1]) ? segment.P1 : segment.P0);
+                        var last = polyShell[polyShell.Count - 1];
+                        var segment = lineSegList.Find(o => o.P0.Equals2D(last) || o.P1.Equals2D(last));
+                        polyShell.Add(segment.P0.Equals2D(last) ? segment.P1 : segment.P0);
                         lineSegList.Remove(segment);
                     }

@@ -261,10 +259,18 @@
             return true;
         }

-        private static void AddSegment(ICollection<LineSegment> list, double x1, double y1, double x2, double y2)
-        {
-            list.Add(new LineSegment(new Coordinate(x1, y1), new Coordinate(x2, y2)));
-        }
+        private class LineSegmentList
+        {
+            private readonly List<LineSegment> _list = new List<LineSegment>();
+
+            public void AddSegment(double x1, double y1, double x2, double y2)
+            {
+                _list.Add(new LineSegment(new Coordinate(x1, y1), new Coordinate(x2, y2)));
+            }
+
+            public List<LineSegment> List { get { return _list; } }
+        }
+

         /// <summary>
         /// The Parameter array should be populated with default values here


added get-part of TaggedValues for unique/cluster

--- EAAddinFramework/Databases/Index.cs
+++ EAAddinFramework/Databases/Index.cs
@@ -22,10 +22,44 @@
 			get { return "Index"; }
 		}

-    // TODO: lazy load value ?!
-    // TODO: persist setting ?!
-    public bool isUnique    { get; set; }
-    public bool isClustered { get; set; }
+    public bool isUnique    {
+      get {
+        foreach(var item in this._wrappedOperation.taggedValues) {
+          if( item.name.Equals("Unique") ) {
+            return item.tagValue.ToString().Equals("1");
+          }
+        }
+        return false;
+      }
+      set {
+        foreach(var item in this._wrappedOperation.taggedValues) {
+          if( item.name.Equals("Unique") ) {
+            // TODO this is not writing through...
+            item.tagValue = value ? "1" : "0";
+            return;
+          }
+        }
+      }
+    }
+    public bool isClustered {
+      get {
+        foreach(var item in this._wrappedOperation.taggedValues) {
+          if( item.name.Equals("Clustered") ) {
+            return item.tagValue.ToString().Equals("1");
+          }
+        }
+        return false;
+      }
+      set {
+        foreach(var item in this._wrappedOperation.taggedValues) {
+          if( item.name.Equals("Clustered") ) {
+            // TODO this is not writing through...
+            item.tagValue = value ? "1" : "0";
+            return;
+          }
+        }
+      }
+    }

 		#region implemented abstract members of Constraint
 		protected override string getStereotype()