Razor Language Service does not highlight TagHelpers for pre-opened Razor files.

If you close a solution while having a Razor file (that has TagHelpers) open; re-open it, the TagHelper highlighting will not re-light up.
Reproduction steps provided by a customer:
I can consistently reproduce the issue on a new project

Open VS, create a new ASP.NET Core app with the MVC template.
Open _Layout.cshtml: now I see the purple tags of environment, link, and attributes asp-controller, etc... and I get Intellisense if I type new taghelpers
Close solution, open it again. Now I get the last file I had open _Layout.cshtml: all is gone
If I close and reopen the file I get taghelper Intellisense
Same happens if I closed the file before closing the solution. First time I open doesn’t work. Close and reopen, it shows

@ToddGrun @alexgav This is probably on the editor side of things but might also exist on our side. I filed the issue here for now until we can determine which is at fault.

Is this an issue with the released version of RLS?

Is this an issue with the released version of RLS?

Yes

OK. I think the fix for this will have to wait for the update 3 previews sadly. This is definitely in the edtior code

@NTaylorMullen - does this repro on update 3?

I don't have a box that has this yet. @alexgav could you try this out real quick?

Let's just verify this next week then

Also running into this issue with a new install of VS2017.  However I can't even get highlighting to appear ever, even after following the steps in the OP.
With just the default extensions + GitHub (Razor Language Services disabled), I consistently get an error when reopening a .cshtml file in a new project for the first time.  The relevant bit out of ActivityLog.xml is:
<entry>
    <record>611</record>
    <time>2017/04/08 23:30:36.852</time>
    <type>Error</type>
    <source>Editor or Editor Extension</source>
    <description>
    	System.ArgumentException: An item with the same key has already been added.
    	   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
    	   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
    	   at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.VisualStudioProjectTracker.AddProject(AbstractProject project)
    	   at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.CPS.CPSProject..ctor(VisualStudioProjectTracker projectTracker, Func`2 reportExternalErrorCreatorOpt, String projectDisplayName, String projectFilePath, IVsHierarchy hierarchy, String language, Guid projectGuid, String binOutputPath, IServiceProvider serviceProvider, VisualStudioWorkspaceImpl visualStudioWorkspaceOpt, HostDiagnosticUpdateSource hostDiagnosticUpdateSourceOpt, ICommandLineParserService commandLineParserServiceOpt)
    	   at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.CPS.CPSProjectFactory.Microsoft.VisualStudio.LanguageServices.ProjectSystem.IWorkspaceProjectContextFactory.CreateProjectContext(String languageName, String projectDisplayName, String projectFilePath, Guid projectGuid, Object hierarchy, String binOutputPath)
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.UnconfiguredProjectContextProvider.<>c__DisplayClass24_0.<<CreateProjectContextAsyncCore>b__0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__76.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.JoinableTask`1.<JoinAsync>d__3.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.UnconfiguredProjectContextProvider.<CreateProjectContextAsyncCore>d__24.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.UnconfiguredProjectContextProvider.<CreateProjectContextAsync>d__12.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.LanguageServices.LanguageServiceHost.<>c__DisplayClass29_0.<<UpdateProjectContextAsync>b__0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.LanguageServices.LanguageServiceHost.<>c__DisplayClass27_0`1.<<ExecuteWithinLockAsync>b__0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__76.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.JoinableTask`1.<JoinAsync>d__3.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.LanguageServices.LanguageServiceHost.<UpdateProjectContextAsync>d__29.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.LanguageServices.LanguageServiceHost.<UpdateProjectContextAndSubscriptionsAsync>d__26.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.LanguageServices.LanguageServiceHost.<InitializeCoreAsync>d__22.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedAsync.<<-ctor>b__4_0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.AsyncLazy`1.<>c__DisplayClass13_1.<<GetValueAsync>b__0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.VsContainedLanguageComponentsFactoryBase.<InitializeCoreAsync>d__16.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedAsync.<<-ctor>b__4_0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.AsyncLazy`1.<>c__DisplayClass13_1.<<GetValueAsync>b__0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.VsContainedLanguageComponentsFactoryBase.<>c__DisplayClass18_0.<<GetContainedLanguageFactoryForFile>b__0>d.MoveNext()
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.ProjectSystem.OnceInitializedOnceDisposedAsync.<<InitializeAsync>b__27_0>d.MoveNext()

    	--- End of stack trace from previous location where exception was thrown ---
    	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	   at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
    	   at Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices.VsContainedLanguageComponentsFactoryBase.GetContainedLanguageFactoryForFile(String filePath, IVsHierarchy& hierarchy, UInt32& itemid, IVsContainedLanguageFactory& containedLanguageFactory)
    	   at Microsoft.VisualStudio.Html.Package.ContainedLanguage.Server.ProjectKServerContainedLanguageSupport.InitContainedLanguage()
    	   at Microsoft.VisualStudio.Html.Package.ContainedLanguage.Server.ProjectKServerContainedLanguageSupport..ctor(ITextBuffer textBuffer, ITextView textView)
    	   at Microsoft.VisualStudio.Html.Package.ContainedLanguage.Server.ServerContainedLanguageSupport.EnsureConnected(ITextView textView, ITextBuffer textBuffer)
    	   at Microsoft.VisualStudio.Html.Package.ContainedLanguage.Server.ServerContainedLanguageSupportViewTracker.OnTextViewCreated(ITextView textView, ITextBuffer textBuffer)
    	   at Microsoft.Web.Editor.Controller.TextViewConnectionListener.<>c__DisplayClass26_0.<OnTextViewGotAggregateFocus>b__0()
    	   at Microsoft.Web.Editor.Utility.GuardedOperations.InvokeExtensionPoint(Object errorSource, Action action)</description>
  </entry>

About:
Microsoft Visual Studio Community 2017
Version 15.0.26228.12 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586

Installed Version: Community

---
ASP.NET Core Razor Language Services   1.0
Provides languages services for ASP.NET Core Razor.
---

@ScottKaye - this issue isn't in RLS, it's a lower level of VS https://github.com/dotnet/project-system/issues/1925

Ah, sorry about that.  Figured it might have been related.

No worries

@NTaylorMullen - still an issue?

@rynowak Still an issue. Will need to investigate further to find out why.

Findings:

Tooling is invoking TagHelperDescriptor resolution prior to the Roslyn workspace being instantiated. This means we attempt to locate TagHelpers on a workspace that hasn't been populated. If you force the operation to spin a few cycles and wait for the workspace resolution all works fine.
Tooling will need to wait for Roslyn's workspaces to be fully initialized.
Tooling doesn't seem to be re-invoking descriptor resolution when a cshtml file is open if a restore is not needed.
After a build descriptors light up fine.

Removed investigate label.

OK, so it looks like for now this is external to us. I'm going to start making use of the external tag.

Move out?

Yes, let's move out of 15.3 and follow up with WTE about risk/when they would be able to ship a fix for this

I'm parking this in preview3 because I want us to at least figure out when this can fixed.

Still happening...any update on a fix?
Microsoft Visual Studio Enterprise 2017
Version 15.3.0
VisualStudio.15.Release/15.3.0+26730.3
Microsoft .NET Framework
Version 4.6.01586
Installed Version: Enterprise
=====================
9/4/2017 9:05:39 AM
Recoverable
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )<---
===================
9/4/2017 9:05:39 AM
Recoverable
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )<---
===================
9/4/2017 9:05:42 AM
Recoverable
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.InprogressState.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ExternalErrorDiagnosticUpdateSource.SupportedDiagnosticId(ProjectId projectId, String id)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.CanHandle(String errorId)    at Microsoft.VisualStudio.LanguageServices.Implementation.TaskList.ProjectExternalErrorReporter.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.AbstractProject.Microsoft.VisualStudio.Shell.Interop.IVsLanguageServiceBuildErrorReporter2.ReportError2(String bstrErrorMessage, String bstrErrorId, VSTASKPRIORITY nPriority, Int32 iStartLine, Int32 iStartColumn, Int32 iEndLine, Int32 iEndColumn, String bstrFileName)    at Microsoft.VisualStudio.ProjectSystem.VS.Build.LanguageServiceErrorListProvider.<AddMessageCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<AddMessagesAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Build.VsProjectBuildErrorListPublishService.<ProcessQueueAsync>d__28.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at Microsoft.VisualStudio.ProjectSystem.CommonProjectSystemTools.Rethrow(Exception ex)    at Microsoft.VisualStudio.ProjectSystem.ProjectErrorReporting.<>c__DisplayClass6_0.<SubmitErrorReport>b__0()    at Microsoft.VisualStudio.ProjectSystem.ExceptionFilter.<>c__DisplayClass2_0.<Guard>b__0()    at GuardMethodClass.GuardMethod(Func1 , Func2 , Func2 )<---
===================

This is being tracked in TFS at: https://devdiv.visualstudio.com/DevDiv/_workitems?id=489897

This was fixed in the non-OSS bits. This will ship in 15.5


.OBJ file import problem

Hello, when saving the scene in the calibration tool to an .OBJ file, and importing it to Unity, i get the following error:
"ImportFBX Errors:
Couldn't import file C:/Users/Admin/Desktop//Unity Projects/Test/Assets/3dobejct/3newpos2.obj.
UnityEditor.DockArea:OnGUI()"
I have done this before in an older update of the toolkit with out any problems, but now it won't load the object properly.
Any suggestions on why that might be?
The model is build from 3 proj and 3 kinects.
Thanks :+1:

Does MeshLab load it?

Yes it does, but it is just shown as a lot of squares.

It looks proper when i import it to Blender, however if i export it again, Unity crashes when trying to load the file.

I can't seem to repro the problem. Can you post the file(s) somewhere where I can download it?
Are you by any chance in some locale that uses commas for decimal points? I've seen some problems with that; thought I had that licked but perhaps I missed something.

Here is a link for the files:
https://www.dropbox.com/sh/t1riawoq9q106zo/AACH0LaNH3PvYOzUkfT6VEFka?dl=0
We are located in denmark, and yes we use commas for decimal points, but the unity installation is using dots instead of commas.

The uploaded .obj file does indeed have commas in it where it should have points. I thought I fixed this problem using .Net's InvariantCulture (see line 1426 of ProjectorCameraEnsemble.cs). Can you verify that you are all up to date on the master branch?

I see that aswell, hmm. The InvarianCulture should take care of the problem as you say. The calibration has been done with a fresh download from 6 days ago, so it should be all up to date.

I changed the way InvariantCulture was being used in the export functions. I think the problem was that Vertex.ToString was carrying on without InvariantCulture. Can you try this again and let me know how it goes?

Thank you very much. Now it works, however there are still some minor errors (according to unity)

But it loads fine, and does aswell in meshlab :+1:

We could certainly add normals to the .obj file, but I'm not sure how useful this is given that the geometry is already 'lit' by the color image texture.
The vertex limit is a well known limitation in Unity. It amazes me that it exists still.

You are right about that, and yes there is some old odd limitations in unity, just look at how they are still using quicktime in regards to handling video.


Investigate why valgrind builds are recently failing

Example build: https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.4-valgrind/builds/26
Fabulous run in 309.795857s, 4.5417 runs/s, 12.9376 assertions/s.

1407 runs, 4008 assertions, 0 failures, 0 errors, 6 skips

You have skipped tests. Run with --verbose for details.
==12483== Invalid free() / delete / delete[] / realloc()
==12483==    at 0x4C29E90: free (vg_replace_malloc.c:473)
==12483==    by 0x5DF416B: __libc_freeres (in /lib/x86_64-linux-gnu/libc-2.19.so)
==12483==    by 0x4A236CC: _vgnU_freeres (vg_preloaded.c:63)
==12483==    by 0x5CDFAEA: __run_exit_handlers (exit.c:97)
==12483==    by 0x5CDFB74: exit (exit.c:104)
==12483==    by 0x5CC9B4B: (below main) (libc-start.c:321)
==12483==  Address 0x604d2d0 is 0 bytes inside data symbol "noai6ai_cached"
==12483==
==12483==
==12483== HEAP SUMMARY:
==12483==     in use at exit: 40,778,530 bytes in 167,581 blocks
==12483==   total heap usage: 4,918,627 allocs, 4,751,047 frees, 1,256,485,297 bytes allocated
==12483==
==12483== LEAK SUMMARY:
==12483==    definitely lost: 24,115,721 bytes in 53,281 blocks
==12483==    indirectly lost: 5,019,064 bytes in 57,523 blocks
==12483==      possibly lost: 6,556,015 bytes in 42,848 blocks
==12483==    still reachable: 5,087,730 bytes in 13,929 blocks
==12483==         suppressed: 0 bytes in 0 blocks
==12483== Rerun with --leak-check=full to see details of leaked memory
==12483==
==12483== For counts of detected and suppressed errors, rerun with: -v
==12483== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
rake aborted!
Command failed with status (42): [ulimit -s unlimited && valgrind --num-call...]
/usr/local/bundle/gems/hoe-debugging-1.3.0/lib/hoe/debugging.rb:63:in `hoe_debugging_run_valgrind'
/usr/local/bundle/gems/hoe-debugging-1.3.0/lib/hoe/debugging.rb:87:in `block in define_debugging_tasks'
/usr/local/bundle/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => test:valgrind
(See full trace by running task with --trace)

runtime info from that failing build:

/tmp/build/4d9a0f57/nokogiri/test/helper.rb:25: version info: {"warnings"=>[], "nokogiri"=>"1.8.0", "ruby"=>{"version"=>"2.4.1", "platform"=>"x86_64-linux", "description"=>"ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]", "engine"=>"ruby"}, "libxml"=>{"binding"=>"extension", "source"=>"packaged", "libxml2_path"=>"/tmp/build/4d9a0f57/nokogiri/ports/x86_64-pc-linux-gnu/libxml2/2.9.4", "libxslt_path"=>"/tmp/build/4d9a0f57/nokogiri/ports/x86_64-pc-linux-gnu/libxslt/1.1.29", "libxml2_patches"=>["0001-Fix-comparison-with-root-node-in-xmlXPathCmpNodes.patch", "0002-Fix-XPointer-paths-beginning-with-range-to.patch", "0003-Disallow-namespace-nodes-in-XPointer-ranges.patch"], "libxslt_patches"=>["0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch", "0002-Check-for-integer-overflow-in-xsltAddTextString.patch"], "compiled"=>"2.9.4", "loaded"=>"2.9.4"}}

runtime info from previous, successful build: https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.4-valgrind/builds/25

/tmp/build/4d9a0f57/nokogiri/test/helper.rb:25: version info: {"warnings"=>[], "nokogiri"=>"1.8.0", "ruby"=>{"version"=>"2.4.1", "platform"=>"x86_64-linux", "description"=>"ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]", "engine"=>"ruby"}, "libxml"=>{"binding"=>"extension", "source"=>"packaged", "libxml2_path"=>"/tmp/build/4d9a0f57/nokogiri/ports/x86_64-pc-linux-gnu/libxml2/2.9.4", "libxslt_path"=>"/tmp/build/4d9a0f57/nokogiri/ports/x86_64-pc-linux-gnu/libxslt/1.1.29", "libxml2_patches"=>["0001-Fix-comparison-with-root-node-in-xmlXPathCmpNodes.patch", "0002-Fix-XPointer-paths-beginning-with-range-to.patch", "0003-Disallow-namespace-nodes-in-XPointer-ranges.patch"], "libxslt_patches"=>["0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch", "0002-Check-for-integer-overflow-in-xsltAddTextString.patch"], "compiled"=>"2.9.4", "loaded"=>"2.9.4"}}

Some notes:

both of the above runs use Ruby 2.4.1
I cannot reproduce using Ruby 2.4.0 at the same Nokogiri commit on my local dev machine

Next steps:

try to debug using 2.4.1 at the same Nokogiri commit on my local dev machine
rerun builds?

Using 2.4.1 locally on c87f25e could not reproduce.
Recreating concourse deployment.

rerunning one of the failed jobs: https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.4-valgrind/builds/27

aaaand that job failed with the same issue.

This appears to be unrelated to Ruby. Stack trace does not include any Ruby frames, and some googling reveals it may be a glibc thing:

https://bugs.gentoo.org/show_bug.cgi?id=472544
https://svn.boost.org/trac10/ticket/12188

I'm going to try to repro locally in the ruby/2.4 Docker image.

Reproduced locall in the ruby:2.4 Docker image:
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ruby                2.4.1               4bcabaf0fe3c        2 weeks ago         683MB

Just a final note in case this comes up again later:

using the Docker image referenced above, I'm able to reproduce this issue with both commit c87f25e and fe638ca / v1.8.0.
on my local dev machine, running ruby 2.4.1, I'm not able to reproduce with either commit.
earlier, commit fe638ca / v1.8.0 clearly went green: https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.4-valgrind/builds/25

My conclusion is that something changed in the Docker image unrelated to Nokogiri, which is why I generated a valgrind suppression and moved on.


[backport] Update base docker image

Backport of #5521

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 378f014d6120c65c1020b6e20c26060ce9e46440, target branch v5) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

LGTM


openBinaryFile doesn't exist

Can anyone help me out? I've checked like a thousand times if my pandoc path and pdflatex path are correct, but it still apears that openBinaryFile doesn't exist.

I got the same error. When switching to Markdown Render mode in settings the file gets exported but with missing images.

Upon a close look the cause seems to be that pandoc expects embedded images / asset files in the root folder of the vault, not in the folder of the article. If you copy the asset files to the roort directory of your vault pandoc will render your document correctly.
@OliverBalfour is this a known bug?

I'm experiencing the same problem :(

Seems like Pull request #101 could resolve this - @OliverBalfour could you review / accept it?

@Studentenfutter yes, I will take a look at it in the next few weeks. Apologies for the belated reply, I've been overwhelmed with uni work :sweat_smile:

Yep this fix is much needed, as I keep my attachments in a separate folder in order to keep note list clean.

🙏

Same issue

Same for me with version 0.4.1

Hi all and @OliverBalfour, just wanted to up this thread as I have the same issue because my attachments aren't in the root folder

Is that why im getting this error ??

I guess it is

I also have the same problem. I hope it can be fixed as soon as possible. It is impossible to put all thousands of pictures in the root directory. Thank you


Make project titles and tutorials as descriptive as possible

From @mialondon on May 8, 2017 16:10
e.g. Identify play titles not Identify titles
Copied from original issue: LibCrowds/libcrowds-bs4-pybossa-theme#43

Closing as roughly a duplicate of #11


Odd auto completion of string values

Bicep version
VS Code 0.4.1008
Describe the bug
Auto completion behaves w
To Reproduce
Take the following example.  Start auto completion at the //Start Here comment.  Type s as if you were going to set the type to String.  I expected typing s to bring up 'String' as the top completion result.
targetScope = 'managementGroup'

resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2021-06-01' = {
  name: ''
  properties: {
    policyType:'Custom'
    mode: 'All'
    metadata: {
      category: 'Tags'
    }
    parameters: {
      someParam: {
        type: //Start Here
      }
    }
  }
}

Additional Context
When typing s,  not only is 'String' not high up on the list, it's also been eliminated from the candidate list completely.
If rather than s you type 's, then you do get the expected behaviour.

Out of curiosity, did you see it further down in the list? This is what I see:

Ah yes, you're right - it is there but it was far enough down that I didn't see it.


Globus Page not working

Dear @khammernik ,
I cannot download the data from the Globus page. Can you rectify it ?
Sincerely
Aditya Rastogi

Unfortunately, there are currently some issues with the Globus server right now. We hope that this issue will be resolved soon.


Capability selection rules do not resolve conflicts if the build is configured to fail on version conflicts

Current Behavior
If all of the following conditions are true...

the build's dependency tree contains multiple dependencies that declare the same capability (capability conflict)
the build contains a capability selection rule to resolve the conflict
the build is configured to fail on version conflicts (by calling resolutionStrategy.failOnVersionConflict())

...then the capability conflict fails to resolve and the build fails.
Expected Behavior
The capability conflict should be resolved because of the capability selection rule (and the build should not fail due to the capability conflict).
Context (optional)
No response
Steps to Reproduce
Reproducer project: https://github.com/jthurne/unresolvable-capability-conflicts-reproducer
See the failing GitHub action runs for the reproduced output, or:

Clone https://github.com/jthurne/unresolvable-capability-conflicts-reproducer
Run ./gradlew build

See also the README of the reproducer project for more details on how the project reproduces the issue.
Gradle version
8.4
Build scan URL (optional)
https://scans.gradle.com/s/qtpzw3ycagfro
Your Environment (optional)
No response

Thank you for providing a valid report.
The issue is in the backlog of the relevant team, but this area of Gradle is currently not a focus one, so it might take a while before a fix is made.


fix: do not unwrap as much in clobberregistry

blocked by https://github.com/mamba-org/rattler/pull/490


Wrong tautomers generated

Hi,
I would like to obtain the canonical tautomer of a set of molecules preserving stereochemistry, here is my code:
tautomer_params = Chem.MolStandardize.rdMolStandardize.CleanupParameters()
tautomer_params.tautomerRemoveSp3Stereo = False
tautomer_params.tautomerRemoveBondStereo = False
tautomer_params.tautomerRemoveIsotopicHs = False

enumerator = rdMolStandardize.TautomerEnumerator(tautomer_params)
mol_can = standardizer.remove_hs_from_mol(Chem.MolFromSmiles(mol))
mol_can = enumerator.Canonicalize(mol_can)

In some instances, the obtained canonical tautomers look odd to me, as the changes in the canonical tautomer are in atoms/bonds that in my opinion should not be involved in tautomerisation. Se for instance the double bond move in [H]C@]12SCC(CSC3=NN=NN3CCN(C)C)=C(N1C(=O)[C@H]2NC(=O)CC1=CSC(N)=N1)C(O)=O

and the phosphate groups in  CC1=CN([C@@H]2O[C@H](COP(O)(=O)OP(O)(=O)OP(O)(O)=O)C=C2)C(=O)NC1=O

Thanks for your help!
Configuration
RDKit version: 2021.03.5
OS: Windows 10
Python version: 3.9.7
Are you using conda? Yes
If you are using conda, which channel did you install the rdkit from? conda-forge

@sonial : I agree that there's something suspicious about the tautomers being generated in the first example. I think we can get that fixed.

@ptosco : I'd appreciate your opinion about the change I'm thinking of making before I actually make it.
The odd tautomer in the first example here is being caused by the fact that the 1,5 (thio)keto/enol rules are being applied to molecules like this:

(I'm skipping a bunch of steps of debugging which led to this simple example).
I don't think the keto/enol rules should be applied to carboxylic acids
The definition of the 1,5 (thio)keto/enol forward transformation is here: https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolStandardize/TautomerCatalog/tautomerTransforms.in#L25
This, like most of the transforms, is something we brought over from MolVS.
The corresponding SMIRKS in the original paper (http://link.springer.com/10.1007/s10822-010-9346-4) is:
[O,S,Se,Te;X1:1]=[Cz1H0:2][C:5]=[C:6][CX4z0,NX3:3][#1:4][[ [#1:4][O,S,Se,Te;X2:1][Cz1:2]=[C:5][C:6]=[Cz0,N:3]

That uses a cactvs extension z (number of heteroatom neighbors), which the RDKit supports.
I would propose to modify the default tautomer transformations to match the ones in that paper as closely as we can, including using the cactvs extensions that the RDKit supports. I would also keep the original transforms around as a "v1" version so that people who want backwards compatibility can get it.
Make sense to you?

Thanks for looking into this @greglandrum.
Do you think what is happening in my second example is expected?
Phosphorus has only 5 valence electrons, hence 7 bonds do not look correct to me.

Do you think what is happening in my second example is expected? Phosphorus has only 5 valence electrons, hence 7 bonds do not look correct to me.

The RDKit supports phosphorous with a valence of 7, so these do not involve valence exceptions. Whether or not it's a "nice" tautomer... there I don't have a strong opinion.


Add dragonwell on aarch64

This requires https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/1706
Related issue: https://github.com/AdoptOpenJDK/openjdk-build/issues/2367

@karianna  Hi, please have another look at this patch? Thanks.

@karianna  Hi, please have another look at this patch? Thanks.


Self IP not created for pool members on separate subnets, same VLAN

Agent Version
8.3.0
Operating System
CentOS
OpenStack Release
Liberty
Description
For this load balancing configuration:

one pool
two pool members
each member on the same VLAN network
each member on different subnets

A single self IP is created for the first subnet, but another self IP is not created for the second subnet. Essentially, the agent implicitly assumes that pool members either are on the same subnet, or if they are on different subnets, the subnets are on different networks. The use case of pool members allocated on different subnets but the same network is not working.
Deployment
Multiple controllers and agents, BIG-IP LTM 11.6.1 HF2 configured in HA pair.

I have modified _get_subnets_to_assure function in f5-openstack-agent/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py, I changed networks[network['id']] to networks[subnet['id']], and it worked, but I can't confirm whether this modification will affect other functions.
Looking forward to your solution. Thank you!

Yes, that's the solution we have as well. We don't think it will affect other functions, but we are doing full regression testing today. Thank you.


miniquad

Support miniquad, https://crates.io/crates/miniquad for rendering context management.

Doesn't seem like it will be possible, so closing for now...
https://github.com/not-fl3/miniquad/pull/371


Retrive assets from installtime pack

I followed the instruction in README, everything went ok, aab has included the pack, but how do I 'unload it' in build?
EDIT: When i try to load it with Addressables.LoadAssetAsync() I got this exception in logcat
11-02 23:04:14.101 20492 20533 E Unity   : Exception encountered in operation Dependencies [base6_assets_all_ecfca279f78dbfc7b79f6c6b455f..., defaultlocalgroup_unitybuiltinshaders_3882323...], status=Failed, result=System.Collections.Generic.List`1[UnityEngine.R
esourceManagement.AsyncOperations.AsyncOperationHandle] : Object reference not set to an instance of an object.
11-02 23:04:14.101 20492 20533 E Unity   : UnityEngine.AddressableAssets.AddressablesImpl:LogException(AsyncOperationHandle, Exception)

could you explain more what you mean with "unload it",
install time Asset packs are installed/updated by android / google play store automatically. There shouldn't be a need to "unload it".
Bundles are then loaded from the asset packs and unloaded by addressables.
if you want to debug more of what is going on in the background you can add DEBUG_PLAYASSETDELIVERY to "Scripting Define Symbols" in the "Player Settings" before you create a new AAB.

Hey, sorry I missed your edit, can you tell me which version of addressables you are using?

I think that this is the same problem I've just had.
You probably didn't configure "Default Local Group" properly.
More info in #27.


"Bootloader" section says "Apple UEFI" if Clover is used as a Bootloader

→ see Screenshot

@5T33Z0 @0xCUB3 @MDNich
Hi
2 different reasons to get this behavior : (but I'm certain you know below things)

"/usr/local/bin/bdmesg" doesn't exist  (if so you D.L Clover_r5155.pkg, extract bdmesg from package and put bdmesg
in "/usr/local/bin" with sudo if user isn't admin. (and may be chmod 755))
ls -l /usr/local/bin/bdmesg
-rwxr-xr-x@ 1 xxxxxxx  staff  53664  9 avr  2023 /usr/local/bin/bdmesg

too much processor load and no time to execute bdmesg (Preview is displayed before bdmesg return a result)
it's the reason why we had to put Timers at different places to avoid this problem
Thread.sleep(forTimeInterval: n.m) to let creation of temporary DataFiles before trying extractions of some of their content. But here datas are extracted directly from Clover boot log content not from a Datafile but the behavior could be the same.

May be other(s) reason(s) ? If someone knows ...
Regards

So, the "real" solution would be to integrate bdmsg in the app.

Thank you guys, I appreciated that!


Task 384-385 Socialiqa(replaced)

task384_socialiqa_question_classification -> You're given context, an answer, and question. Your task is to classify whether the question is correct or not.
task385_socialiqa_incorrect_answer_generation -> You're given a context, a question, three options. Your task is to return an incorrect answer from the option.
I have closed the previous PR which had noise in the task and replaced the numbers with new tasks.
Please review.

@cosmicishan How these are different from the SocialQA tasks you already created and are accepted?

I add the ones you suggested. Before closing the pull request you suggested tasks I could do from this dataset. So preciously I made a task to generate the question and here I made a task to check whether the given question is correct or not. And in the MCQ task I generate incorrect answers in this one.

@Palipoor @cosmicishan looks like this PR has added two files to the ROOT directory

.
@cosmicishan at your earliest convenience, could you send a PR to fix the issue?


Fixed improper return in matrix() function when inline=False

This PR addresses issue #27 by changing a line in the definition of matrix.

Thanks!


maximum fragment duration reached with high resolution video streaming

Streaming video encoded with omxh264 encoder at bitrate 5120000. Set frame rate to be compatible with high definition 1920 by 1080 at 10 frames per second, and received maximum fragment duration error. Highest resolution where streaming worked without this error was 1280 by 720 at 15 frames per second.

Hi @laurenkemperman ,
What is the I frame interval you set for the encoder? To avoid this maximum fragment duration error, you would need to have at least one I frame every 10 seconds.
If you can send your log and video streaming use case to<EMAIL_ADDRESS>we can provide further assistance.
-ZH

Hi,
The iframe interval has been set to 60. I am getting an error which states that there is no corresponding frame found. I will send the log and use case, thanks for your help!
Lauren

On Dec 4, 2018, at 4:53 PM, zhiyua-git<EMAIL_ADDRESS>wrote:
Hi @laurenkemperman https://github.com/laurenkemperman ,
What is the I frame interval you set for the encoder? To avoid this maximum fragment duration error, you would need to have at least one I frame every 10 seconds.
If you can send your log and video streaming use case to<EMAIL_ADDRESS><EMAIL_ADDRESS>we can provide further assistance.
-ZH
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/153#issuecomment-444273317, or mute the thread https://github.com/notifications/unsubscribe-auth/ApjycFwUVn77wvhyz7RBKxCmXZYMwOw9ks5u1u7zgaJpZM4ZBjNH.

@laurenkemperman thanks for the info. It seems that you are producing 15 fps stream. Having key-int-max 60 means you will produce GoP size of 12 seconds which is above the current max fragment duration limit. Try setting key-int-max to a smaller value like 45 or have FPS increased to ensure the fragment duration is less than 10 seconds

Closing the issue for now.
Please reopen or contact<EMAIL_ADDRESS>if needed.
Thanks

This sounds inaccurate? how can GOP size of 60 with 15FPS produce an iframe in 12 seconds time duration? It sounds like its 5FPS not 15FPS. Was that a typo?

This sounds inaccurate? how can GOP size of 60 with 15FPS produce an iframe in 12 seconds time duration? It sounds like its 5FPS not 15FPS. Was that a typo?

Yes indeed, 5 fps. The issue is again, you either have a low fps or your encoder blocks

Yes indeed, 5 fps. The issue is again, you either have a low fps or your encoder blocks


Source NAT option on Private Gateway

Using Source NAT option on Private Gateway does not work
This fixes #2680
Description

When you use the Source NAT feature of Private Gateways on a VPC.  This should Source NAT all traffic from CloudStack VMs going towards IPs reachable through Private Gateways.
This change in this PR, stops adding the Source CIDR to SNAT rules.  This should be discussed/reviewed, but i can see no reason why the Source CIDR is needed.  There can only be one SNAT IP per interface, except for Static (one-to-one) NATs, which still work with this change in place.  The outbound interface is what matters in the rule.

SUMMARY

There is a bug in the Private Gateway functionality, when Source NAT is enabled for the Private Gateway.  When the SNAT is added to iptables, it has the source CIDR of the private gateway subnet.  Since no VMs live in that private gateway subnet, the SNAT doesn’t work.
STEPS TO REPRODUCE

Below is an example:

VMs have IP addresses in the <IP_ADDRESS>/24 subnet.
The Private Gateway address is <IP_ADDRESS>/30

In the outputs below, the SOURCE field for the new SNAT (eth3) only matches if the source is <IP_ADDRESS>/30.  Since the VM has an IP address in <IP_ADDRESS>/24, the VMs don’t get SNAT’d as they should when talking across the private gateway.  The SOURCE should be set to ANYWHERE.
BEFORE ADDING PRIVATE GATEWAY
Chain POSTROUTING (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target     prot opt in     out     source               destination
    2   736 SNAT       all  --  any    eth2    <IP_ADDRESS>/24          anywhere             to:<IP_ADDRESS>
   16  1039 SNAT       all  --  any    eth1    anywhere             anywhere             to:<IP_ADDRESS>

EXPECTED RESULTS

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       all  --  any    eth3    anywhere             anywhere             to:<IP_ADDRESS>
    2   736 SNAT       all  --  any    eth2    anywhere             anywhere             to:<IP_ADDRESS>
   23  1515 SNAT       all  --  any    eth1    anywhere             anywhere             to:<IP_ADDRESS>

ACTUAL RESULTS

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       all  --  any    eth3    <IP_ADDRESS>/30      anywhere             to:<IP_ADDRESS>
    2   736 SNAT       all  --  any    eth2    <IP_ADDRESS>/24          anywhere             to:<IP_ADDRESS>
   23  1515 SNAT       all  --  any    eth1    anywhere             anywhere             to:<IP_ADDRESS>

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

GitHub Issue/PRs

Fixes: #2680
Screenshots (if appropriate):
How Has This Been Tested?

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
Testing
[ ] I have added tests to cover my changes.
[ ] All relevant new and existing integration tests have passed.
[ ] A full integration testsuite with all test that can run on my environment has passed.

@Slair1
CsAddress.py has been moved to systemvm/debian/opt/cloud/bin/cs/CsAddress.py in master

@Slair1 can you rebase this against 4.11 branch? /cc @DaanHoogland @PaulAngus @borisstoyanov   - this may explain some of the private gateway ACL related failures, we'll need to check if those smoketest failures are valid errors or env caused issues.

ping @Slair1 can you rebase your branch?

ping @Slair1 can you rebase your branch please if you'd like this included in 4.11.1, otherwise we'll have to push it out to 4.12/4.11.2

@PaulAngus I've rebased to 4.11

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2097

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2744)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 23897 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2681-t2744-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_deploy_virtio_scsi_vm.py
Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermitten failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Intermitten failure detected: /marvin/tests/smoke/test_vpc_vpn.py
Smoke tests completed. 64 look OK, 3 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestDeployVirtioSCSIVM>:setup
Error
0.00
test_deploy_virtio_scsi_vm.py

test_03_vpc_privategw_restart_vpc_cleanup
Error
125.42
test_privategw_acl.py

test_01_redundant_vpc_site2site_vpn
Failure
233.25
test_vpc_vpn.py

@Slair1 can you test if the change I made per Wei's comment works in your env. I'll rekick tests.
@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-2107

@blueorangutan test

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2113

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

tried manual tests to see why failed so badly.
when trying to created a VPC received the following error:

@PaulAngus because a ")" is missing at the end of line 482 ......

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2114

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2751)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 23834 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2681-t2751-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_deploy_virtio_scsi_vm.py
Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermitten failure detected: /marvin/tests/smoke/test_vm_life_cycle.py
Intermitten failure detected: /marvin/tests/smoke/test_host_maintenance.py
Intermitten failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 62 look OK, 5 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestDeployVirtioSCSIVM>:setup
Error
0.00
test_deploy_virtio_scsi_vm.py

test_03_vpc_privategw_restart_vpc_cleanup
Error
146.74
test_privategw_acl.py

test_01_secured_vm_migration
Error
1.09
test_vm_life_cycle.py

test_02_not_secured_vm_migration
Error
1.09
test_vm_life_cycle.py

test_03_secured_to_nonsecured_vm_migration
Error
1.09
test_vm_life_cycle.py

test_04_nonsecured_to_secured_vm_migration
Error
1.09
test_vm_life_cycle.py

test_08_migrate_vm
Error
40.88
test_vm_life_cycle.py

test_01_cancel_host_maintenace_with_no_migration_jobs
Failure
0.08
test_host_maintenance.py

test_02_cancel_host_maintenace_with_migration_jobs
Error
2.23
test_host_maintenance.py

test_hostha_enable_ha_when_host_in_maintenance
Error
3.45
test_hostha_kvm.py

The test_03_vpc_privategw_restart_vpc_cleanup is the oly failure that seems related to this PR, however the output only says "Internal Server Error", so no real conclusions to take from that. Restarting to see persistence of the issue
@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

squashed all the commits into 1

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian.  Restarting to see persistence of the issue
@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2758)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 24746 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2681-t2758-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_deploy_virtio_scsi_vm.py
Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermitten failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 65 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestDeployVirtioSCSIVM>:setup
Error
0.00
test_deploy_virtio_scsi_vm.py

test_03_vpc_privategw_restart_vpc_cleanup
Error
146.67
test_privategw_acl.py

:( the error is consistent. need to look

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2130

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2765)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 21217 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2681-t2765-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_deploy_virtio_scsi_vm.py
Intermitten failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermitten failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 64 look OK, 3 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestDeployVirtioSCSIVM>:setup
Error
0.00
test_deploy_virtio_scsi_vm.py

test_03_vpc_privategw_restart_vpc_cleanup
Error
117.25
test_privategw_acl.py

test_hostha_enable_ha_when_host_in_maintenance
Error
1.42
test_hostha_kvm.py

both these two errors are known. The private gateway one is related though.

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✖centos7 ✔debian. JID-2134

@rhtyd why did you repackage this? It wasn't changed since the last successful package run.

@DaanHoogland - as we know the cause of the test_privategw_acl failures - are we ok with this PR?


Helm repo

This will package our helm chart any time the version is incremented. It will create an associate release with the chart, generate an index, and publish it to gh-pages at https://charts.polytomic.com/index.yaml

Cool.
Do we need a CNAME file, too? Can't remember how GHP publishing works.

We do, but that gets written by Github automagically: https://github.com/polytomic/on-premises/tree/gh-pages


Broken / ghost inputs in Windows - excluding Steam

I've been trying out this project for a bit and I've been having a bit of an issue across multiple Pis (Pico W, Pico, USB-C Clone) and controllers (2 official controllers)
In the Windows game controller menu and Dolphin the controller appears to be freaking out (moving the analog stick or C stick does seem to make some sort of change - see the video)
In Steam Big Picture it seems to work fine, although with a tiny delay?
I've tried multiple 1k resistors (this result), no resistor (no result), the internal pull up resistor (notably also this result)
Any help is appreciated.
https://github.com/DavidPagels/retro-pico-switch/assets/91263142/5d2c2eea-d8e1-4096-8552-87b5fb0ac000

Tested on a separate Win 10 computer - same issue, but tested on Mac and seemingly works fine?

The descriptors the pro controller sends out aren't accurate, so windows doesn't know how to interact with the controller. Steam knows the correct descriptors and mostly ignores what the controller sends. The pro controller that this is emulating behaves the same.


Introduces metrics framework for NB Router.

This patch introduces a metrics framework for NB Router, and it is rebased on PR/327. It has two major parts:
1. General metrics and metrics-updating methods at the router level. It makes clear and avoids missing general metrics by using the general metrics-updating method (changed the way suggested from a previous discussion to update metrics by directly referencing the individual metrics);
2. General metrics and metrics-updating methods at the NodeId level. This will help to conduct root-cause analysis by tracking metrics of an individual request to a specific node.
3. Collect metrics for Put and Delete.
This is intended to be an early effort for router metrics, and I tried to limit the size of this PR. More metrics are yet to be collected, and new PR will be made to update each.
Reviewer: Priyesh & Siva
Estimated review time: 40min
Test: No specific tests are made for this patch, however ./gradlew build passes.

Please hold off on this review until after the discussion.

We discussed this and reduced the scope of #327 and got that merged. Ming is going to update this review to add metrics on top of that and make any changes as required.

@pnarayanan @nsivabalan Have addressed the comments in a new commit.

@pnarayanan @nsivabalan The existence of the metrics have been verified in JConsole (plugged nb router into ambry frontend and run it).

Addressed @pnarayanan comments.

Apart from the above comments, LGTM.
Two things left are:

chunk related metrics and 2. get related metrics. Those can be taken care of separately.

For now, let me know once you incorporate the above comments.

@pnarayanan @nsivabalan Responded your comments. PTAL.

LGTM. Please confirm that this builds and tests fine on Linux and OS X, and that formatting is correct.
@nsivabalan: please take a look at the latest changes.

@xiahome given my comments

In general we have a very bad trace logging. Entire router package has only 17 trace loggings(excluding coordinator backed router). This will definitely bite us back during investigations. Even I didn't do a good job in NetworkClientMetrics. Just now realizing it. I will put up a patch for it. Especially when we are doing correctness or load testing to test this feature, trace logging would come in handy.

Yes, I have something in my backlog for trace logging. I don't think we need a lot in the NetworkClient, but the router could use a few.
That is orthogonal to this patch, and more logging can be added incrementally while the testing is going on.

yep, I know. I didn't intend to add it in this patch. Just thought of bringing this up.

@nsivabalan addressed your comments. Also built and code formatted.

Looks good. Leaving it to priyesh to merge.

An overarching question I have about these metrics is whether a big chunk of time can be logically broken down into smaller parts? By that I mean - if operation latency were to increase, is each part of that latency tracked by metrics that cover smaller ranges that will help us pinpoint a logical piece of code that is the cause? Or do we have blind spots?
For e.g., I did not see a metric that tracks how long it takes b/w when an operation is "queued" to when it starts getting processed for the very first time (I might have missed it). If this time were to increase for some reason, the op latency would increase and we wouldn't know why. Basically, I would like us to avoid blind spots
As an orthogonal point, I would say we need a metric to track how long each poll of a request response handler takes. I think that would be paramount to take a decision on how many scaling units we need etc.

You make good points.
I think in general we should have metrics for methods that can take time - for example methods that do I/O, or block on connections, network calls etc. With everything non-blocking, we have to be careful to not add metrics that don't add any value. This is why for the NetworkClient PR ( #331) we decided to avoid having metrics for each method and have one overall metric for sendAndPoll. Because the flip side is that one can end up making a case for every method and overload the framework.
For your concern, we are adding metrics for poll and handleResponse. Since everything is supposed to be non-blocking, I am not sure whether metrics for how long each operation's poll takes would be very useful - but I would like to have metrics for how long an operation manager takes to poll all its operations For a particular operation we have several other metrics that capture request latency and upcoming chunk filling related metrics etc. We could of course add more metrics as we see necessary going forward.
For the particular metric that you mention, will see if there is anything that we can add. We will have to define what "processing" means and it can mean different for puts vs. gets. Plus, as long as the methods of the request response handler do not take abnormal time, any queued operation will become eligible for processing.


Add makeRequestNoUser function to client

There are 3 endpoints that don't use user-id in the request path

GET/POST availableNumbers/local
GET/POST availableNumbers/tollFree
GET phoneNumbers/numberInfo/{number}

Instead of parsing and running logic there on the path, I just added another request method that sets a variable attachUserPath to true / false for the function createRequestOptions.
This made the most sense to me, I'm open to suggestions.

@nguyer @fuchsnj @nbragdon @a-type , I need 2 OKs .
Need this soon-ish :)

The design seems rigid to me-- putting a lot of responsibility on the lower level request function to understand the distinction between these different scenarios, when logically I think that distinction should live in the resources themselves. To clarify,

I would expect the core request function to only be responsible for managing request options which are generalized and common to all API requests, namely: version, credentials and path.
I would expect a resource to understand whether it is a user-scoped resource or not and form its path accordingly before calling request
As a convenience, I wouldn't be surprised if there was a userPath property on the client which resources could use to construct user-scoped API paths if required, thus centralizing the user path formatting logic

So, with those things in mind:
class Client {
  // against the correct API version, with the client credentials
  request(method, path, payload) {
     // ...
  }

  get userPath() {
    return `/users/${userId}`;
  }
}

class Resource {
  static async create(options) {
    const response = await client.request('post', joinPath(client.userPath, 'resources'), options);
    return new Resource(response.body);
  }
}

you could also have
client.createUserResourcePath(resourcePath) {
  return joinPath(this.userPath, resourcePath);
}

The advantage to this whole thing is that you have fewer code branches and less complexity within the request method, because you don't have to manage different scenarios. Resources which are user-scoped will simply create a path with a user, and those that aren't, wont.

@a-type , if I'm understanding correctly. We would transform client to be:
function createRequestOptions (params) {
	var	url = config.baseUrl + apiVersionPath + params.path;
	return {
		url                : url,
		headers            : {
			"User-Agent" : getUserAgentHeader()
		},
		qs                 : params.qs,
		method             : params.method || "GET",
		auth               : {
			user : config.apiToken,
			pass : config.apiSecret
		},
		json               : true,
		body               : params.body,
		rejectUnauthorized : false // for some reason this is required for bootcamp ssl
	};
}

and change the resources like
function getPath() {
	return client.userID + "/messages/"
}

this.get = function (messageId, callback) {
	return client.makeRequest({
		path   : getPath() + messageId,
		method : "GET"
	})
	.then(function (response) {
		return response.body;
	})
	.asCallback(callback);
};

More or less, yeah, seems fine. As long as it gets the branch logic out of the request, so the client doesn't have to be aware of distinctions between resource types.


Update different-id.md

🚀 Deployed on https://661471328ea8af23775aed61--cozy-fox-0defec.netlify.app


ASL-chrisda to Master

Docs Build status updates of commit 475640e:
:clock10: Full build: the average full build time is 17 min(s) 36 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 475640e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Get-AutoSensitivityLabelPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-AutoSensitivityLabelRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-AutoSensitivityLabelPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-AutoSensitivityLabelRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-AutoSensitivityLabelPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-AutoSensitivityLabelRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AutoSensitivityLabelPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-AutoSensitivityLabelRule.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Export Event.Attachments

Looks great, thank you for the fast turnaround!  What release version will have this fix?  ETA?


Adding icon on buttons

Is your feature request related to a problem? Please describe.
A relevant icon can be added on few buttons alongside with its text to make it look more appealing
Describe the solution you'd like

Alternatives
No response
Additional Context
No response
Are you interested in contributing?

[X] I'd like to work on this issue

Code of Conduct

[X] I have used the search function to check if an issue already exists
[X] I agree to follow this project's Code of Conduct

Hey @Ishita928, yeah can do that!
Don't add more packages/ files for icons, use react-icons or MUI or Lucide icons

@pranshugupta54 Can I work on this ??...


Vault client caching

@collin this is my thought on vault caching, still needs tests + such

@collin @MichaelButkovic @benghaziboy
Suggestion for Vault REST endpoint caching, what do you think?
Idea is to add 2 layers of caching:

"short-term" caching to avoid overwhelming Vault service (~1 min)
"backstop" caching (I made up the name) to fallback on if Vault endpoint is temporarily unreachable (~60 min)

Short-term seems like a no-brainer, the "backstop" concept could use some feedback.

niiiiiiice


AddOptionsToCommand: command not found

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest Super-linter version available?

[X] I am using the latest Super-linter version.

[X] I can reproduce the issue running Super-linter using complete version identifier (example: vX.Y.Z), and not just with a partial one (example: vX)

[X] I am using the super-linter/super-linter action or container image, and not the deprecated github/super-linter action or container image.

Are you resonably sure that it's a Super-linter issue, and not an issue related to a tool that Super-linter runs?

[X] I think that this is a Super-linter issue.

Current Behavior
Running super-linter step in Github workflow:
- name: Lint Code Base
  uses<EMAIL_ADDRESS>  env:
    ...
    KUBERNETES_KUBECONFORM_OPTIONS: -ignore-missing-schemas -schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' --ignore-filename-pattern '.*tpl\.yaml'
    ...

fails with error:
HelmRelease ***** failed validation: could not find schema for HelmRelease

HelmRelease is one of CRDs loaded with -schema-location argument passed in KUBERNETES_KUBECONFORM_OPTIONS. It seems however, super-linter fails to pass is, since it also reports:
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found

Expected Behavior
No error should appear, verified using super-linter v7.1.0 on exactly the same codebase
Super-Linter version
v7.2.0

Super-linter configuration
      - name: Checkout Code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Lint Code Base
        # see https://github.com/marketplace/actions/super-linter#images
        uses<EMAIL_ADDRESS>        env:
          VALIDATE_ALL_CODEBASE: false
          DEFAULT_BRANCH: master
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

          # Excluding Crunchy Postgres Operator 3rd-party repository from
          # linting. It is fetched as is and has lots of conflicts with our
          # current linter configs.
          FILTER_REGEX_EXCLUDE: ".*/postgres-operator-examples/.*"
          # See https://github.com/yannh/kubeconform#customresourcedefinition-crd-support
          # - Add additional registry with lots of CRDs schemas
          # - If the schema is not present there and is not known - ignore (instead of failure)
          KUBERNETES_KUBECONFORM_OPTIONS: -ignore-missing-schemas -schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' --ignore-filename-pattern '.*tpl\.yaml'
          # checkov returns too many failed checks at the moment
          VALIDATE_CHECKOV: false
          # Go linter does not work properly with VALIDATE_ALL_CODEBASE false,
          # because it tries to lint files one-by-one and might complain about
          # unused/undefined variables that are used/defined in another file.
          VALIDATE_GO: false
          # It takes DRY to the extreme and annoys, people tend to just ignore it
          VALIDATE_JSCPD: false
          # Disable Markdown prettier until we provide a generic config for developers to run prettier locally
          VALIDATE_MARKDOWN_PRETTIER: false
          # Textlint just discourages documentation
          VALIDATE_NATURAL_LANGUAGE: false
          # Not much Ruby here, validation is up to a developer
          VALIDATE_RUBY: false
          # Disable AWS Step Function states validation
          # We don't use them and current check fails on IAM permissions jsons
          VALIDATE_STATES: false
          # Disable Terrascan
          VALIDATE_TERRAFORM_TERRASCAN: false
          # Disable YAML prettier until we provide a generic config for developers to run prettier locally
          VALIDATE_YAML_PRETTIER: false
          # Disable JSON prettier until we provide a generic config for developers to run prettier locally
          VALIDATE_JSON_PRETTIER: false

Relevant log output
Run<EMAIL_ADDRESS>  env:
    VALIDATE_ALL_CODEBASE: false
    DEFAULT_BRANCH: master
    GITHUB_TOKEN: ***
    FILTER_REGEX_EXCLUDE: .*/postgres-operator-examples/.*
             /              \
          *@@@@@.    .%///(//@//////////////////&.   .@@,                 @%      / Don't mind me  \
        @@%           .&@&&/@.@//&/////(//////////    @@@@@@@@@         .. &@    / I'm just looking \
      @@%               @@@@@   @&/////////////////#   @/       V  @@/ ,@@@ @   <  for some trash... |
  @@@%                   @@@@        .%@@@@//////#@ @   @@         @     .,.     \__________________/
                                            @@@/@(  (@@@@% @/\      %
                                             @@@@(    .     .@@/\   #
                                               @                  %@%

  --------------------------------------------------------------------------------
  2024-11-19 11:37:58 [INFO]   ---------------------------------------------
  2024-11-19 11:37:58 [INFO]   --- GitHub Actions Multi Language Linter ----
  2024-11-19 11:37:58 [INFO]    - Image Creation Date: 2024-11-18T13:53:56Z
  2024-11-19 11:37:58 [INFO]    - Image Revision: e1cb86b6e8d119f789513668b4b30bf17fe1efe4
  2024-11-19 11:37:58 [INFO]    - Image Version: 7.2.0
  2024-11-19 11:37:58 [INFO]   ---------------------------------------------
  2024-11-19 11:37:58 [INFO]   ---------------------------------------------
  2024-11-19 11:37:58 [INFO]   The Super-Linter source code can be found at:
  2024-11-19 11:37:58 [INFO]    - https://github.com/super-linter/super-linter
  2024-11-19 11:37:58 [INFO]   ---------------------------------------------
  2024-11-19 11:37:58 [INFO]   - Validating changed files in code base...
  2024-11-19 11:37:58 [INFO]   This version of Super-linter includes the following tools:
  [ANSIBLE] ansible-lint: 24.10.0
  [BASH] shellcheck: 0.10.0
  [BASH_EXEC] bash-exec: Version command not supported
  [CHECKOV] checkov: 3.2.295
  [CLANG_FORMAT] clang-format: 17.0.6
  [CLOJURE] clj-kondo: v2024.11.14
  [CLOUDFORMATION] cfn-lint: 1.19.0
  [COFFEESCRIPT] coffeelint: 5.2.11
  [CPP] cpplint: 2.0.0
  [CSS] stylelint: 16.10.0
  [CSS_PRETTIER] prettier: 3.3.3
  [DART] dart: 3.5.4
  [DOCKERFILE_HADOLINT] hadolint: 2.12.0
  [EDITORCONFIG] editorconfig-checker: v3.0.3
  [ENV] dotenv-linter: 3.3.0
  [GHERKIN] gherkin-lint: Version command not supported
  [GITHUB_ACTIONS] actionlint: 1.7.4
  [GITLEAKS] gitleaks: v8.21.2
  [GIT_COMMITLINT] commitlint<EMAIL_ADDRESS>  [GIT_MERGE_CONFLICT_MARKERS] git-merge-conflict-markers: 1.0.0
  [GOOGLE_JAVA_FORMAT] google-java-format: 1.24.0
  [GO] golangci-lint: 1.62.0
  [GO_MODULES] golangci-lint: 1.62.0
  [GO_RELEASER] goreleaser: 2.4.5
  [GRAPHQL_PRETTIER] prettier: 3.3.3
  [GROOVY] npm-groovy-lint: 15.0.2
  [HTML] htmlhint: 1.1.4
  [HTML_PRETTIER] prettier: 3.3.3
  [JAVASCRIPT_ES] eslint: v8.57.1
  [JAVASCRIPT_PRETTIER] prettier: 3.3.3
  [JAVASCRIPT_STANDARD] standard: 17.1.2
  [JAVA] checkstyle: 10.20.1
  [JSCPD] jscpd: 4.0.5
  [JSONC] eslint: v8.57.1
  [JSONC_PRETTIER] prettier: 3.3.3
  [JSON] eslint: v8.57.1
  [JSON_PRETTIER] prettier: 3.3.3
  [JSX] eslint: v8.57.1
  [JSX_PRETTIER] prettier: 3.3.3
  [KOTLIN] ktlint: 1.4.1
  [KUBERNETES_KUBECONFORM] kubeconform: v0.6.7
  [LATEX] chktex: v1.7.9
  [LUA] lua: 5.4.6
  [MARKDOWN] markdownlint: 0.42.0
  [MARKDOWN_PRETTIER] prettier: 3.3.3
  [NATURAL_LANGUAGE] textlint: v14.3.0
  [OPENAPI] spectral: 6.14.1
  [PERL] perl: (v5.38.2)
  [PHP_BUILTIN] php: 8.3.13
  [PHP_PHPCS] phpcs: 3.11.0
  [PHP_PHPSTAN] phpstan: 2.0.1
  [PHP_PSALM] psalm: 5.26.1@d747f6500b38ac4f7dfc5edbcae6e4b637d7add0
  [PROTOBUF] protolint: 0.50.5(6cc254e)
  [PYTHON_BLACK] black: 24.10.0
  [PYTHON_FLAKE8] flake8: 7.1.1
  [PYTHON_ISORT] isort: 5.13.2
  [PYTHON_MYPY] mypy: 1.13.0
  [PYTHON_PYINK] pyink: 24.10.0
  [PYTHON_PYLINT] pylint: 3.3.1
  [PYTHON_RUFF] ruff: 0.7.3
  [RAKU] raku: v2024.04
  [RENOVATE] renovate-config-validator: 39.15.4
  [RUBY] rubocop: 1.68.0
  [R] R: 4.4.0
  [SCALAFMT] scalafmt: 3.8.3
  [SHELL_SHFMT] shfmt: v3.10.0
  [SNAKEMAKE_LINT] snakemake: 8.25.3
  [SNAKEMAKE_SNAKEFMT] snakefmt: 0.10.2
  [SQLFLUFF] sqlfluff: 3.2.5
  [STATES] asl-validator: 3.9.0
  [TEKTON] tekton-lint: 1.1.0
  [TERRAFORM_FMT] terraform: v1.9.8
  [TERRAFORM_TERRASCAN] terrascan: v1.19.9
  [TERRAFORM_TFLINT] tflint: 0.54.0
  [TERRAGRUNT] terragrunt: version
  [TSX] eslint: v8.57.1
  [TYPESCRIPT_ES] eslint: v8.57.1
  [TYPESCRIPT_PRETTIER] prettier: 3.3.3
  [TYPESCRIPT_STANDARD] ts-standard: 12.0.2
  [VUE_PRETTIER] prettier: 3.3.3
  [XML] xmllint: 21207
  [YAML] yamllint: 1.35.1
  [YAML_PRETTIER] prettier: 3.3.3
  2024-11-19 11:37:58 [INFO]   --------------------------------------------
  2024-11-19 11:37:58 [INFO]   Gathering GitHub information...
  2024-11-19 11:37:58 [INFO]   Successfully validated GITHUB_WORKSPACE: /github/workspace
  2024-11-19 11:37:58 [INFO]   Successfully found GITHUB_EVENT_PATH: /github/workflow/event.json]
  2024-11-19 11:37:58 [INFO]   Successfully found GITHUB_SHA: ***
  2024-11-19 11:37:59 [INFO]   Successfully found GITHUB_ORG: ***
  2024-11-19 11:37:59 [INFO]   Successfully found GITHUB_REPO: ***
  2024-11-19 11:37:59 [INFO]   The default branch for this repository is set to: ***
  2024-11-19 11:37:59 [INFO]   Successfully found GITHUB_TOKEN.
  2024-11-19 11:37:59 [INFO]   Successfully found GITHUB_REPOSITORY: ***
  2024-11-19 11:37:59 [INFO]   Successfully found GITHUB_RUN_ID ***
  2024-11-19 11:37:59 [INFO]   --------------------------------------------
  2024-11-19 11:37:59 [INFO]   Validating the configuration
  .git
  2024-11-19 11:38:00 [INFO]   The master branch doesn't exist in /github/workspace
  ***
  2024-11-19 11:38:00 [INFO]   *** doesn't exist, however origin/*** exists. Setting DEFAULT_BRANCH to: origin/***
  2024-11-19 11:38:00 [WARN]   Git commit message validation with commitlint is enabled, but no commitlint configuration file is available. Disabling commitlint. To suppress this message, either disable Git commit validation by setting VALIDATE_GIT_COMMITLINT to false in your Super-linter configuration, or provide a commitlint configuration file.
  2024-11-19 11:38:01 [INFO]   ----------------------------------------------
  2024-11-19 11:38:01 [INFO]   User provided file:[/github/workspace/.github/linters/actionlint.yml] exists, setting rules file...
  2024-11-19 11:38:01 [INFO]   ----------------------------------------------
  2024-11-19 11:38:01 [INFO]   User provided file:[/github/workspace/.github/linters/.gitleaks.toml] exists, setting rules file...
  2024-11-19 11:38:01 [INFO]   ----------------------------------------------
  2024-11-19 11:38:01 [INFO]   User provided file:[/github/workspace/.github/linters/.golangci.yml] exists, setting rules file...
  2024-11-19 11:38:01 [INFO]   ----------------------------------------------
  2024-11-19 11:38:01 [INFO]   User provided file:[/github/workspace/.github/linters/.textlintrc] exists, setting rules file...
  2024-11-19 11:38:02 [INFO]   ----------------------------------------------
  2024-11-19 11:38:02 [INFO]   User provided file:[/github/workspace/.github/linters/.tflint.hcl] exists, setting rules file...
  2024-11-19 11:38:02 [INFO]   ----------------------------------------------
  2024-11-19 11:38:02 [INFO]   User provided file:[/github/workspace/.github/linters/.yaml-lint.yml] exists, setting rules file...
  2024-11-19 11:38:04 [INFO]   Building the list of files and directories to check
  2024-11-19 11:38:04 [INFO]   Successfully gathered list of files...
2024-11-19 11:38:07 [INFO]   Command output when running linters:
------
EDITORCONFIG
  2024-11-19 11:38:05 [INFO]   Linting EDITORCONFIG items...
  Notice: 19 11:38:05 [NOTICE]   EDITORCONFIG linted successfully
GITLEAKS
  2024-11-19 11:38:05 [INFO]   Linting GITLEAKS items...
  Notice: 19 11:38:05 [NOTICE]   GITLEAKS linted successfully
  2024-11-19 11:38:05 [INFO]   Stderr contents for GITLEAKS:
  ------
  11:38AM INF scan completed in 225µs
  11:38AM INF no leaks found
  ------
GIT_MERGE_CONFLICT_MARKERS
  2024-11-19 11:38:05 [INFO]   Linting GIT_MERGE_CONFLICT_MARKERS items...
  Notice: 19 11:38:05 [NOTICE]   GIT_MERGE_CONFLICT_MARKERS linted successfully
  2024-11-19 11:38:05 [INFO]   Command output for GIT_MERGE_CONFLICT_MARKERS:
  ------
  No merge conflicts found in /github/workspace/***/helm-release.yaml
  ------
KUBERNETES_KUBECONFORM
  2024-11-19 11:38:06 [INFO]   Linting KUBERNETES_KUBECONFORM items...
  Error: -19 11:38:06 [ERROR]   Found errors when linting KUBERNETES_KUBECONFORM. Exit code: 1.
  2024-11-19 11:38:06 [INFO]   Command output for KUBERNETES_KUBECONFORM:
  ------
  /github/workspace/***/helm-release.yaml - HelmRelease *** failed validation: could not find schema for HelmRelease
  ------
YAML
  2024-11-19 11:38:07 [INFO]   Linting YAML items...
  Notice: 19 11:38:07 [NOTICE]   YAML linted successfully
  2024-11-19 11:38:07 [INFO]   Command output for YAML:
  ------
  Warning: orkspace/***/helm-release.yaml:1:1: [warning] missing document start "---" (document-start)
  Warning: orkspace/***/helm-release.yaml:18:81: [warning] line too long (87 > 80 characters) (line-length)
  Warning: orkspace/***/helm-release.yaml:28:81: [warning] line too long (104 > 80 characters) (line-length)
  Warning: orkspace/***/helm-release.yaml:30:81: [warning] line too long (104 > 80 characters) (line-length)
  ------
------
2024-11-19 11:38:07 [INFO]   Stderr when running linters:
------
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found
/action/lib/functions/linterCommands.sh: line 111: AddOptionsToCommand: command not found
------
2024-11-19 11:38:07 [INFO]   ----------------------------------------------
2024-11-19 11:38:07 [INFO]   ----------------------------------------------
Notice: 19 11:38:07 [NOTICE]   Successfully linted EDITORCONFIG
Notice: 19 11:38:08 [NOTICE]   Successfully linted GITLEAKS
Notice: 19 11:38:09 [NOTICE]   Successfully linted GIT_MERGE_CONFLICT_MARKERS
Error: -19 11:38:09 [ERROR]   Errors found in KUBERNETES_KUBECONFORM
Notice: 19 11:38:10 [NOTICE]   Successfully linted YAML
Error: -19 11:38:10 [ERROR]   Super-linter detected linting errors
super-linter-output/super-linter-summary.md 43ms

Steps To Reproduce
n/a
Anything else?
No response

Could it be because of: https://github.com/super-linter/super-linter/pull/6085?

Thanks for reporting. #6375 should take care of fixing this issue.


Make ref axis optional when adding a child FFD

Purpose
This PR addresses some challenges @bernardopacini was having when using child FFDs with MPhys.
Expected time until merged
3 days (@bernardopacini is waiting on this)
Type of change

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (non-backwards-compatible fix or feature)
[ ] Code style update (formatting, renaming)
[x] Refactoring (no functional changes, no API changes)
[ ] Documentation update
[ ] Maintenance update
[ ] Other (please describe)

Testing
I ran the tandem wing optimization tutorial problem, which has 2 child FFDs. I added a ref axis before adding one the parent and the other after. The results of the optimization are exactly the same.
Checklist

[x] I have run flake8 and black to make sure the code adheres to PEP-8 and is consistently formatted
[ ] I have run unit and regression tests which pass locally with my changes
[ ] I have added new tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation

An optional thought; recently I realized that def nom_addRefAxis(self,comp=None, **kwargs): can be removed from mphys_dvgeo.py since it is easy to call the function from group level which is smth similar to this: self.geo.DVGeo.addRefAxis(name="wing",curve=c1,volumes=[0] )

I agree with this point, though I think we should leave it for a separate PR and discuss it in the MPHYS meeting. Does that seem reasonable? It ultimately still needs the child FFD to be added to the parent to be able to add the axis as you are suggesting, so it would rely on Josh's fix here.

Agree! we can talk about it later.

@joanibal: @bernardopacini and I just discussed about this PR and figured that this is probably not the best approach to address the MPhys issues. The fix in #144 already makes sense and covers MPhys problems.
The fix in this PR is alright but 1) we are adding a limitation on the number of children levels you can add (not the best practice, but I think now we can have grandchildren, grand-grandchildren and so on) and 2) I feel that instead of adding and additional patch, we should sit down, understand the full workflow, and possibly refactor the FFD initialization and update sequence.