[SP-4867] Backport of BACKLOG-27185 - AEL: Job reports Transformation…

… completed successfully if sub-trans follows error handling hop to Abort Step (8.2 Suite)
Cherry-pick of #6147 into 8.2 branch.
@ssamora @LeonardoCoelho71950

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/trans/ael/websocket/TransWebSocketEngineAdapter.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.getpop.MailConnectionMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.googleanalytics.GaInputStepMeta

Branch Change: -1.9% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.ui.repository.pur.repositoryexplorer.model.UISecurityRole

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:


org-mode missing link (red link) tries to resolve and is very slow on Windows

Summary
Hi, new user to Doom Emacs, migrating from my own config. I'm having an issue with org mode and the red links:

The links in red cannot be found by Windows. The links point to a share that can only be accessed when I'm on a VPN and look like:
[[\\hostname\share\path][Share Link Path]]
This is expected, as I'm on and off of many VPNs depending on what day it is. Network path's won't always be valid.
I can't seem to find much information on what these red links are or how to disable link resolution. As far as I'm aware, my config in vanilla Emacs didn't try to resolve links and wouldn't show a link as being unable to be resolved and I wouldn't experience these long pauses.
I've filled out each of the fields for a bug report below, but I think most of the responsibility for this issue lies with Windows. To resolve this bug, I think just adding a clear way to disable automatic link resolution would be enough.
Very much enjoying Doom Emacs BTW. Thanks so much for putting time into this like you do.

What did you expect to happen?
When opening an org mode file that contains links, I do not expect Emacs to try to resolve every single link in the org mode file to determine if they exist.
What actually happened?
When opening an org mode file that contains links to locations that cannot be found by windows there is a very long pause (about 20 seconds per missing link) while the links try to be resolved. Editing a link will also sometimes trigger this link resolution and Emacs will freeze for 20 seconds while it waits for Windows to respond.
I suspect on Linux, the link resolution would much faster and wouldn't be an issue. On Windows though, it's very noticable
Additional details:
Doom Emacs Config
Tried running the Emacs profiler for the first time, but it didn't appear to pick anything up. I ran the doom profiler (SPC h T) in an empty org-mode buffer, pasted the missing share link into the buffer, experienced the 20 second pause, then stopped the doom profiler. The only thing that was reported were my actions (key presses) starting the doom profiler.
Steps to reproduce:
My Doom Emacs config isn't very heavily configured. On any Windows System, create a new org mode document. Create a link to a missing share. The link should turn red and you will likely experience a long pause while it resolves.
System information:

```
SYSTEM  type       windows-nt
        config     x86_64-w64-mingw32
        shell      ~/emacs-26.1-x86_64/libexec/emacs/26.1/x86_64-w64-mingw32/cmdproxy.exe
        uname      n/a
        path       (C:\Program Files (x86)\VMware\VMware vSphere CLI\Perl\site\bin C:\Program Files (x86)\VMware\VMware vSphere CLI\Perl\bin C:\Program Files\Java\jre1.8.0_211\bin\ C:\Program Files\Java\jre1.8.0_211\bin\server\ C:\Program Files (x86)\Java\jre1.8.0_211\bin\ C:\Program Files (x86)\Java\jre1.8.0_211\bin\client\ C:\Program Files (x86)\RSA SecurID Token Common C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common C:\Program Files (x86)\Common Files\Oracle\Java\javapath C:\Program Files\Python37\Scripts\ C:\Program Files\Python37\ C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\System32\Wbem C:\WINDOWS\System32\WindowsPowerShell\v1.0\ C:\Program Files\PuTTY\ C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\ C:\Program Files (x86)\Symantec\VIP Access Client\ C:\WINDOWS\System32\OpenSSH\ C:\Program Files\dotnet\ C:\Program Files (x86)\Java\jre1.8.0_191\bin C:\Program Files\TortoiseSVN\bin C:\Program Files\MiKTeX 2.9\miktex\bin\x64\ C:\Program Files (x86)\Graphviz2.38\bin C:\Go\bin C:\Program Files\WinMerge C:\bin C:\Program Files (x86)\Lua\5.1 C:\Program Files (x86)\Lua\5.1\clibs C:\Ruby26-x64\bin C:\Users\LloydRyan\AppData\Local\Microsoft\WindowsApps C:\Program Files (x86)\Nmap C:\MinGW\bin C:\Program Files\Git\bin C:\Users\LloydRyan\.dotnet\tools C:\Users\LloydRyan\AppData\Local\Programs\Fiddler C:\Users\LloydRyan\go\bin C:\Program Files\Git\usr\bin C:\nant-0.92\bin C:\Users\LloydRyan\GD C:\Users\LloydRyan\AppData\Local\Microsoft\WindowsApps C:\Lua C:\Users\LloydRyan\emacs-26.1-x86_64\bin C:\Users\LloydRyan\PortablePrograms\fd-v8.1.1-i686-pc-windows-gnu C:\Users\LloydRyan\PortablePrograms\ripgrep-12.1.1-x86_64-pc-windows-gnu C:\Users\LloydRyan\.emacs.d\bin ~/emacs-26.1-x86_64/libexec/emacs/26.1/x86_64-w64-mingw32/)
EMACS   dir        ~/.emacs.d/
        version    26.1
        build      May 30, 2018
        buildopts  --without-dbus --host=x86_64-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static -g3'
        features   XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS LCMS2
        traits     (server-running envvar-file)
DOOM    dir        ~/.doom.d/
        version    2.0.9
        build      grafted, HEAD -> develop, origin/develop, origin/HEAD 42d5da8 2020-10-31 15:16:58 -0400
        elc-files  0
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline ophints (popup +defaults) vc-gutter vi-tilde-fringe workspaces :editor (evil +everywhere) file-templates fold snippets :emacs dired electric undo vc :checkers syntax :tools (eval +overlay) lookup magit :lang cc common-lisp crystal csharp emacs-lisp fsharp gdscript json (java +meghanada) javascript latex lua markdown org php python rust sh web yaml :config (default +bindings +smartparens))
        packages   ((org-bullets) (highlight-symbol))
        unpin      (n/a)
        elpa       (n/a)
```

Our org module bows out of file-checks for remote paths for performance reasons. The problem is that Emacs does not consider a Windows network share's path a "remote path", so some custom code was needed. 304424d adds this, which should resolve your issue. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!

Wow, thanks for the quick response!
I upgraded with doom upgrade
Unfortunately, that didn't seem to do it. I still get the red links and slow file open times with network shares that aren't found
Looking at the commit, it may be that the wrong slash is used?
In the commit a forward-slash is used:
 (and IS-WINDOWS (string-prefix-p "//" path))
But for Windows shares a back-slash is used
[[\\hostname\share\path][Share Link Path]]
Let me know if I may just be missing something obvious.

Made the changes to backslashes and the issue is resolved :)
Added a pull request for this issue

With #4212 merged this issue should be resolved. Let me know if that isn't the case and I'll reopen it.

We should be good, thanks for making the double backslash "\\\\" change. I wasn't around yesterday to do it.


Revert "Disable tests of ConditionalAuthenticationTestCase"

Reverts wso2/product-is#12413
Don't merge!

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1210865676

@sumedhe this PR has been open for a long time. Can we get this resolved soon?

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1988633687

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1988633687
Status: failure

Tracking with #13267


Link to discord in Readme is expired.

@valerii15298 thank you for your vigilance :)
fixed: https://github.com/chatscope/chat-ui-kit-react/commit/80c13cd5be6d5ae22d1fa39ac6202f243e92b3e3


Deserialization doesn't work when invoked from Azure Function

Hi,
I setup a bot on Azure Bot Service, downloaded the template, made it work with VS2015 and I've moved all code to separate class library to run it as precompiled function.
You can find whole code here: https://github.com/tomaszkiewicz/AzureFunctionsPersistenceProblem/tree/test
So, my function.json file looks like this:
{
  "scriptFile": "bin\\Bot.dll",
  "entryPoint": "Bot.Runner.Run",
  "bindings": [
    {
      "type": "httpTrigger",
      "direction": "in",
      "webHookType": "genericJson",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ],
  "disabled": false
}

The Bot.Runner.Run function is the same as it was from the template and I do the following on new message:
await Conversation.SendAsync(activity, () => new BasicProactiveEchoDialog());
So it's typical calling of dialogs stack. At this step I am able to chat with the bot (tested both on emulator and on Azure Bot Service) so everything is loaded correctly etc.
The problem is that this dialog is not deserialized properly when it's in the separate class library.
It worked when it was a .csx file in Azure Function, it also works when I move it to BotApplication template project (the one based on ASP.NET MVC), but as soon as it gets into separate class library everything breaks.
I've tried to gather more details, so I've added both parameterless constructor and a method with OnDeserialize attribute, put a breakpoint in each of them and the behaviour is that OnDeserialize method gets invoked, when I lookup in the count variable in this dialog it is correctly deserialized but... after I resume the execution the parameterless constructor gets called.
I've found in documentation or stackoverflow thread (I don't remember excactly where) that the behaviour of bot framework is that if it is not possible to sucessfully deserialize the dialog stack it gets resetted.
So it's probably that case here, but I cannot find a reason of unsucessful deserialization...
Could you take a look at it? Or maybe suggest what to check to provide more details?
Best regards
Łukasz Tomaszkiewicz

Hi,
I spent few more hours debugging the problem and here's what I found:
As I supposed the problem relates to error in deserialization. It happens in Store.cs file in the following method:
        bool IStore<T>.TryLoad(out T item)
        {
            try
            {
                return this.store.TryLoad(out item);
            }
            catch (Exception)
            {
                // exception in loading the serialized data
                item = default(T);
                return false;
            }
        }

When you breakpoint in catch part you can find out that the exception is:
Message	"Unable to find assembly 'Microsoft.Bot.Builder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'."
   at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)
   at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
   at Microsoft.Bot.Builder.Internals.Fibers.FormatterStore`1.Microsoft.Bot.Builder.Internals.Fibers.IStore<T>.TryLoad(T& item) in D:\Projekty\BotBuilder\CSharp\Library\Microsoft.Bot.Builder\Fibers\Store.cs:line 65
   at Microsoft.Bot.Builder.Internals.Fibers.ErrorResilientStore`1.Microsoft.Bot.Builder.Internals.Fibers.IStore<T>.TryLoad(T& item) in D:\Projekty\BotBuilder\CSharp\Library\Microsoft.Bot.Builder\Fibers\Store.cs:line 108

So BotBuilder cannot deserialize dialog stack because it cannot find... it's own assembly!
I've tried to apply the typical solution for this kind of error by implementing own binder that tries every possible and loaded assembly:
  sealed class SearchAssembliesBinder : SerializationBinder
    {
        private readonly Assembly _currentAssembly;

        public SearchAssembliesBinder(Assembly currentAssembly)
        {
            _currentAssembly = currentAssembly;
        }

        public override Type BindToType(string assemblyName, string typeName)
        {
            var assemblyNames = new List<AssemblyName>();

            assemblyNames.Add(_currentAssembly.GetName());
            assemblyNames.Add(Assembly.GetCallingAssembly().GetName());

            assemblyNames.AddRange(_currentAssembly.GetReferencedAssemblies());
            assemblyNames.AddRange(AppDomain.CurrentDomain.GetAssemblies().Select(s => s.GetName()));

            foreach (AssemblyName an in assemblyNames)
            {
                var typeToDeserialize = Type.GetType($"{typeName}, {an.FullName}");

                if (typeToDeserialize != null)
                    return typeToDeserialize;
            }

            return null;
        }
    }

Unfortunately that doesn't help, but the exception changes to:
Message	"Could not load file or assembly 'Microsoft.Bot.Builder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at System.UnitySerializationHolder.GetRealObject(StreamingContext context)
   at System.Runtime.Serialization.ObjectManager.ResolveObjectReference(ObjectHolder holder)
   at System.Runtime.Serialization.ObjectManager.DoFixups()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
   at Microsoft.Bot.Builder.Internals.Fibers.FormatterStore`1.Microsoft.Bot.Builder.Internals.Fibers.IStore<T>.TryLoad(T& item) in D:\Projekty\BotBuilder\CSharp\Library\Microsoft.Bot.Builder\Fibers\Store.cs:line 101
   at Microsoft.Bot.Builder.Internals.Fibers.ErrorResilientStore`1.Microsoft.Bot.Builder.Internals.Fibers.IStore<T>.TryLoad(T& item) in D:\Projekty\BotBuilder\CSharp\Library\Microsoft.Bot.Builder\Fibers\Store.cs:line 144

There's also FusionLog property of the exception:
=== Pre-bind state information ===
LOG: DisplayName = Microsoft.Bot.Builder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = file:///C:/Users/luktom/AppData/Local/Azure.Functions.Cli/1.0.0-beta.93/
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\luktom\AppData\Local\Azure.Functions.Cli\1.0.0-beta.93\func.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Users/luktom/AppData/Local/Azure.Functions.Cli/1.0.0-beta.93/Microsoft.Bot.Builder.DLL.
LOG: Attempting download of new URL file:///C:/Users/luktom/AppData/Local/Azure.Functions.Cli/1.0.0-beta.93/Microsoft.Bot.Builder/Microsoft.Bot.Builder.DLL.
LOG: Attempting download of new URL file:///C:/Users/luktom/AppData/Local/Azure.Functions.Cli/1.0.0-beta.93/Microsoft.Bot.Builder.EXE.
LOG: Attempting download of new URL file:///C:/Users/luktom/AppData/Local/Azure.Functions.Cli/1.0.0-beta.93/Microsoft.Bot.Builder/Microsoft.Bot.Builder.EXE.

So I've tired to put Bot Builder function on the paths specified above. That also doesn't help. This time the exception is not caught, but the following is printed on console:
A ScriptHost error has occurred
Exception while executing function: Functions.messages. Bot: The type initializer for 'Microsoft.Bot.Builder.Dialogs.Conversation' threw an exception. Microsoft.Bot.Builder.Autofac: Could not load file or assembly 'Microsoft.Bot.Connector, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Exception while executing function: Functions.messages. Bot: The type initializer for 'Microsoft.Bot.Builder.Dialogs.Conversation' threw an exception. Microsoft.Bot.Builder.Autofac: Could not load file or assembly 'Microsoft.Bot.Connector, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

Exception while executing function: Functions.messages
Exception while executing function: Functions.messages. Bot: The type initializer for 'Microsoft.Bot.Builder.Dialogs.Conversation' threw an exception. Microsoft.Bot.Builder.Autofac: Could not load file or assembly 'Microsoft.Bot.Connector, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Executed 'Functions.messages' (Failed, Id=8e221200-0ad4-48a5-91a9-a876780965a4)
mscorlib: Exception while executing function: Functions.messages. Bot: The type initializer for 'Microsoft.Bot.Builder.Dialogs.Conversation' threw an exception. Microsoft.Bot.Builder.Autofac: Could not load file or assembly 'Microsoft.Bot.Connector, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
  Function had errors. See Azure WebJobs SDK dashboard for details. Instance ID is '8e221200-0ad4-48a5-91a9-a876780965a4'
mscorlib: Exception while executing function: Functions.messages. Bot: The type initializer for 'Microsoft.Bot.Builder.Dialogs.Conversation' threw an exception. Microsoft.Bot.Builder.Autofac: Could not load file or assembly 'Microsoft.Bot.Connector, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

I hope it helps, I have no idea what I can do next in this case.

I see Connector version <IP_ADDRESS> and Builder version <IP_ADDRESS> in your logs - any chance of a assembly version mismatch?  From what I understand, Azure Bot Service doesn't support bindingRedirects.

The 2nd post was based on debug branch in which I updated to newest version. I debugged it also with the newest source code of BotFramework from GitHub.
I don't know if ABS supports bindingRedirects, but in other Azure Functions I never had any problem with any library, so I suppose it could be supported.

Did you ever figure out a work around for this?  I am having a similar issue and have run out of ideas.

Unfortunately not, after 2-3 days of dubugging I opened this issue and switched my project to classic asp.net mvc web app.

When using Azure Bot Service with precompiled .dlls I didn't manage to get nuget dependencies working, but I did find that including all the dependencies (~18 .dll files) in the /bin folder solved my assembly binding exceptions. This is hardly an ideal solution though.

@tomaszkiewicz Due to inactivity I am closing this issue.  Please feel free to continue the conversation here if needed, and we can always reopen if needed.

Hi, any news about this issue ?
I have a workaround, but I think its really bad...
  builder
             .Register((c, p) => new FactoryStore<IFiberLoop<DialogTask>>(new MemoryErrorResilientStore<IFiberLoop<DialogTask>>(new FormatterStore<IFiberLoop<DialogTask>>(p.TypedAs<Stream>(), c.Resolve<IFormatter>(p))), c.Resolve<Func<IFiberLoop<DialogTask>>>(p)))
             .As<IStore<IFiberLoop<DialogTask>>>()
             .InstancePerDependency();

and
public class MemoryErrorResilientStore<T> : IStore<T>
{
    static System.Collections.Concurrent.ConcurrentDictionary<string, object> bag = new System.Collections.Concurrent.ConcurrentDictionary<string, object>();

    private readonly IStore<T> store;
    public MemoryErrorResilientStore(IStore<T> store)
    {
        SetField.NotNull(out this.store, nameof(store), store);
    }

    void IStore<T>.Reset()
    {
        this.store.Reset();
    }

    bool IStore<T>.TryLoad(out T item)
    {
        try
        {
            object obj = null;
            bag.TryGetValue(typeof(T).FullName, out obj);
            if (obj == null)
            {
                item = default(T);
                return false;
            }
            item = (T)obj;
            return true;
        }
        catch (Exception ex)
            {
            // exception in loading the serialized data
            item = default(T);
            return false;
        }
    }

    void IStore<T>.Save(T item)
    {
        bag.TryAdd(typeof(T).FullName, item);
    }

    void IStore<T>.Flush()
    {
        this.store.Flush();
    }
}

Any updates on this? With new azure functions tooling it seems like compilable functions are way to go and this way we can't take advantage of them,

Hi, @AdamMarczak
To use the new VS 17 15.3 tooling for Azure function, you have to use https://github.com/Microsoft/BotBuilder-Azure but I found the bug and submit a pull request https://github.com/Microsoft/BotBuilder-Azure/pull/15 to correct the serialization issue

Great news @NicolasHumann! I did use bot builder for azure but I didn't see there's option for storing state. This means deserialization will no longer be an issue, cool!

Thank you @NicolasHumann for your pull request, it pointed me in the right direction. I extended it a little bit to work also for assemblies that are not loaded to the AppDomain yet.
Technically you are not required to use BotBuilder-Azure but it has some features that you would have to implement by yourself. Like the authentication stuff. And I hope it will fix the assembly loading problem in the future.
Until it gets fixed I created my own assembly resolve handler:
public class AzureFunctionsResolveAssembly : IDisposable
{
    public AzureFunctionsResolveAssembly()
    {
        AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
    }

    void IDisposable.Dispose()
    {
        AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
    }

    private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs arguments)
    {
        var assembly = AppDomain.CurrentDomain.GetAssemblies()
            .FirstOrDefault(a => a.GetName().FullName == arguments.Name);

        if (assembly != null)
        {
            return assembly;
        }

        // try to load assembly from file
        var assemblyDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
        var assemblyName = new AssemblyName(arguments.Name);
        var assemblyFileName = assemblyName.Name + ".dll";
        string assemblyPath;

        if (assemblyName.Name.EndsWith(".resources"))
        {
            var resourceDirectory = Path.Combine(assemblyDirectory, assemblyName.CultureName);
            assemblyPath = Path.Combine(resourceDirectory, assemblyFileName);
        }
        else
        {
            assemblyPath = Path.Combine(assemblyDirectory, assemblyFileName);
        }

        if (File.Exists(assemblyPath))
        {
            return Assembly.LoadFrom(assemblyPath);
        }

        return null;
    }
}

And this is how I use it in my Azure Functions Bot:
[FunctionName("Messages")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "messages")]HttpRequestMessage req, TraceWriter log)
{
    // use custom assembly resolve handler
    using(new AzureFunctionsResolveAssembly())
    using (BotService.Initialize())
    {
        // Deserialize the incoming activity
        string jsonContent = await req.Content.ReadAsStringAsync();
        var activity = JsonConvert.DeserializeObject<Activity>(jsonContent);

        // authenticate incoming request and add activity.ServiceUrl to MicrosoftAppCredentials.TrustedHostNames
        // if request is authenticated
        if (!await BotService.Authenticator.TryAuthenticateAsync(req, new[] { activity }, CancellationToken.None))
        {
            return BotAuthenticator.GenerateUnauthorizedResponse(req);
        }

        if (activity != null)
        {
            switch (activity.GetActivityType())
            {
                case ActivityTypes.Message:
                    await Conversation.SendAsync(activity, () => new RootDialog());
                    break;
                [...]
            }
        }
        return req.CreateResponse(HttpStatusCode.Accepted);
    }
}

Glad I stumbled across this - I too saw the "Azure Bot Service" thing in the portal was using the csx-style functions and thought I'd be clever by following the same basic pattern but with pre-compiled functions.  Basic call-and-response got working quickly, but dialog state just seemed to be disappearing.  I even debugged it so far as to confirm that the right state was flowing back and forth to the state server (ie. https://state.botframework.com/v3/botstate/webchat/conversations/XXXX/users/YYYY) - never occurred to me that the deserialization was where the problem was.
Thanks to @NicolasHumann and @berhir though, I have this working now (at least locally in the emulator).  Looking forward to continuing to see how this develops.
In addition to fixing it (obviously), is there a good reason exceptions on deserialization should be silently swallowed?  Shouldn't we get some way to hook into them?  Are there other similar places where things might fail silently?  Maybe a custom interface implementation we can provide to the AutoFac config?  Or at least have something writing to the console about the possible issue.

Open a new issue if further questions

I was having the same problem using binary serialization through a storage queue. When attempting to deserialize the message with the BinaryFormatter the assembly containing the class would get the "could not find assembly exception". Even though an instance of the class had already been created previously. The fusion loader recorded no bind failures so I was stuck until I found this post. I used the assembly resolver code posted by berhir and now the serialization is working. Thanks!

This sounds like a very old issue with the way some EXEs host the .NET runtime. Way back in time it was often COM+ or IE and then Cassini that had this issue. Long ago (2002 or so?) I wrote a workaround for the issue that you can hook into your AppDomain only once to provide a custom resolver for the assembly resolution failure. It is in this old chunk of code:
https://github.com/MarimerLLC/csla/blob/V1-5-x/cslacs10/NetRun/Launcher.cs

Thanks for the feedback. I updated my C# function to include the assembly
resolver but get the same exception.
Ling Toh posted the following in the forum:
Loading native assemblies is currently not supported in Azure Functions.
Kindly see, https://github.com/Azure/Azure-Functions/issues/622
Although that issue as far as I see nor anywhere else in all the docs of
Azure Functions do I see a definitive statement that loading unmanaged
assemblies is not supported. I do see several questions about how to do it
and MS techs trying to figure it out. I would suggest adding a clear
statement in the sand box restrictions.
Thanks again
Invocation details
Parameter
req
Method: GET, Uri:
https://unfunction.azurewebsites.net/api/UnAdder/val1/5/val2/6
val1
5
val2
6
log
$return
response
Failure
Could not load file or assembly 'UnAdderWrapper.DLL' or one of its
dependencies. The specified module could not be found.
Logs
Exception while executing function: UnAdder
Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while
executing function: UnAdder ---> System.IO.FileNotFoundException : Could
not load file or assembly 'UnAdderWrapper.DLL' or one of its dependencies.
The specified module could not be found.
at UnFunction.UnAdder.Run(HttpRequestMessage req,Int32 val1,Int32
val2,TraceWriter log)
at lambda_method(Closure ,UnAdder ,Object[] )
at
Microsoft.Azure.WebJobs.Host.Executors.MethodInvokerWithReturnValue`2.InvokeAsync(TReflected
instance,Object[] arguments)
at async
Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync[TReflected,TReturnValue](Object
instance,Object[] arguments)
at async
Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker
invoker,ParameterHelper parameterHelper,CancellationTokenSource
timeoutTokenSource,CancellationTokenSource
functionCancellationTokenSource,Boolean throwOnTimeout,TimeSpan
timerInterval,IFunctionInstance instance)
at async
Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance
instance,ParameterHelper parameterHelper,TraceWriter
traceWriter,CancellationTokenSource functionCancellationTokenSource)
at async
Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??)
at async
Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(??)
End of inner exception
using System;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Reflection;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using UnAdderWrapper;
namespace UnFunction
{
public static class UnAdder
{
[FunctionName("UnAdder")]

public static HttpResponseMessage

Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route =
"UnAdder/val1/{val1}/val2/{val2}")]HttpRequestMessage req, int val1, int
val2, TraceWriter log)
{

  SerializationWorkaround();

  log.Info("C# HTTP trigger function processed a request.");

  // Fetching the name from the path parameter in the request URL

  Adder aw = new Adder();

  int sum = aw.Sum(val1, val2);

  return req.CreateResponse(HttpStatusCode.OK, $"Hello Sum={sum}");

}

#region Serialization bug workaround

private static void SerializationWorkaround()

{

  // hook up the AssemblyResolve

  // event so deep serialization works properly

  // this is a workaround for a bug in the .NET runtime

  AppDomain.CurrentDomain.AssemblyResolve +=

    new System.ResolveEventHandler(ResolveEventHandler);

}

private static Assembly ResolveEventHandler(object sender,

ResolveEventArgs e)
{

  // get a list of all the assemblies loaded in our appdomain

  Assembly[] list = AppDomain.CurrentDomain.GetAssemblies();

  // search the list to find the assemby that was not found

automatically
  // and return the assembly from the list

  foreach (Assembly asm in list)

    if (asm.FullName == e.Name)

      return asm;

  // we didn't find it either, so return null

  return null;

}

#endregion
}
}
From: Rockford Lhotka<EMAIL_ADDRESS>Sent: Sunday, April 01, 2018 11:32 AM
To: Microsoft/BotBuilder
Cc: David; Comment
Subject: Re: [Microsoft/BotBuilder] Deserialization doesn't work when
invoked from Azure Function (#2407)
This sounds like a very old issue with the way some EXEs host the .NET
runtime. Way back in time it was often COM+ or IE and then Cassini that had
this issue. Long ago (2002 or so?) I wrote a workaround for the issue that
you can hook into your AppDomain only once to provide a custom resolver
for the assembly resolution failure. It is in this old chunk of code:
https://github.com/MarimerLLC/csla/blob/V1-5-x/cslacs10/NetRun/Launcher.cs
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/BotBuilder/issues/2407#issuecomment-377798727,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFMURAOMRaF5UNKKT5xe90OPQhwWqbLPks5tkQEPgaJpZM4MX58D
.


Update package.json

Upped minor of cypress, which has a higher version of lodash without the Prototype Pollution vulnerability: https://www.npmjs.com/advisories/1065

See https://github.com/vuejs/vue-cli/pull/4309#issuecomment-512796247


system proxy support

Because i am in a corporation network, i run shadowsocks with HTTP_PROXY=<IP_ADDRESS>:80 go-shadowsocks2 -verbose -socks :1081 -c server:port -cipher aes-256-cfb -password xxxxxx, but the system proxy HTTP_PROXY=<IP_ADDRESS>:80 not work. Hope shadowsocks can support system proxy.

Do you mean in your corp network you have to use the HTTP proxy at <IP_ADDRESS>:80 to access Internet?

yes, all right.
I use shadowsocks-windows on windows, and i can set my corp proxy with Forward Proxy... with the GUI. So i hope can do something like this on my linux system with go-shadowsocks2.

Seems Windows system proxy only supports HTTP protocol, while Shadowsocks speaks SOCKS protocol. In which case this issue is a duplicate of #27.

@helphi
try: https://github.com/nadoo/glider
glider -l :1081 -f http://<IP_ADDRESS>:80,ss://AES-256-CFB:pass@server:port -v


Update octokit by hand

Update octokit by hand
and fix test data

Yes, we should do that some time to avoid all this constructor breakage.
It's not quite that simple, as some fields on the the mock would still have to be set.
I want this update now though, as it has the repo.IsArchived flag which is a useful filter.

Note: I had a go at using NSubstitute here, Octokit is not friendly for this. There's no interfaces used, and quite deep concrete object hierarchy with protected setters. Ugh.


Powered USB hub to avoid power cycling the HDD on restart

As a part of the work with other SBC-s I did some research regarding how the Pi is capable of powering a HDD requiring 1Amp through an USB2 port. Good comment here https://dietpi.com/phpbb/viewtopic.php?f=9&t=5115&start=10#p15042 :

SSDs with trashed performance is quite common when powered by SBC, the reason is usually undervoltage and not undercurrent (on almost all SBC USB ports there are current limiters in action exceeding the commonly known 500mA for USB2 or 900mA for USB3 -- ROCK64 allows 650mA on each USB2 port and 950 mA on the USB3 port but a RPi 3 uses 1.2A for all 4 USB2 ports combined or a NanoPi M4 for example has one global 2A current limiter for all 4 USB3 ports -- you always need to study schematics).
But as already said: usually it's undervoltage (cable/contact resistance between PSU and board and again between board and disk) causing the problems and not limited current (same on the RPi 3 where 1.2A are set by default -- compare with 'vcgencmd get_config int' output -- but due to Polyfuses and Micro USB powering the voltage available to USB peripherals often drops below 4.5V and then majority of external SSDs get in trouble, the majority of 2.5" HDD already has trouble with less than 4.75V)

See this one with the schematics explaining how the Pi is able to power up to 1.1Amp through the USB: https://raspberrypi.stackexchange.com/questions/340/how-much-power-can-be-provided-through-usb
I still don`t think it is reliable enough and might be a reason behind many data corruption issues.
I propose we should use a powered USB hub to power the HDD and possibly the rPi as well.
I am ordering this: https://www.amazon.co.uk/SuperSpeed-Individual-Switches-Charging-Splitter-USB-3-0-hub-15w-AC-adapter/dp/B07B2HJG8P/ref=sr_1_1?ie=UTF8&qid=1551263091&sr=8-1&keywords=powered+usb+hub Comes with a 3 Amp PSU and outputs up to 2.4A through the USB-s so should be able to power both the HDD and the Pi.
I found that no other SBC has this hack to output 1.1A through the USB, so a powered hub will be necessary.

Thanks for the deep reserach on this ... a powered USB Hub could be one solution - let me know your experience.
On other SBCs (that dont share power over all USB ports) a y-cable (using two usb ports for power) like this one could be working, correct? https://www.amazon.de/Goobay-95746-Power-SuperSpeed-Schwarz/dp/B00DON261G

In theory the HDD coulbed powered from 2 usb ports, but most of these low power devices are not designed to give even 500ma through USB. They are only supposed to power simple usb drives at ~100 mA. Also it is quite difficult to test for HDD undervoltages which are not causing immediate issues.
I think separating the power supplies of the HDD and the SBC does get rid of a big risk factor. The less number of connections and switches the current goes through the more stable it will be.
So far I was using this expansion board which is great for the Pi and the same form factor alternatives (like the Rock64) https://www.amazon.co.uk/gp/aw/d/B07LFZ5HZQ/
It is a USB to SATA adapter and built in 2.5 A USB power output. Proved to be very stable for >4 months.

Yeah I think seperate power supplies are a way to go. An extension board is a way .. but to keep it cheap and simple it should be OK then to advertise a y-cable that is not using a second usb port of the SBC but power from a seconde power adapter.

Agree and thanks for pointing it out that a Y cable is needed to get extra power from the second source let it be a powered hub or battery.
Here is one for the Uk list: https://www.amazon.co.uk/AKORD-Type-Male-Micro-Cable/dp/B00B5T3UTS/
Agree not using the expansion board as it is strongly associated to the Nodl now. I had it before they announced their product, but showing it around always resulted to questions if it is the Nodl :).

I also use one of these: https://www.aliexpress.com/item/USB-3-0-to-SATA-Power-Adapter-Converter-Cable-USB3-0-Cable-Converter-for-Samsung-Seagate/32913703122.html
It has a great feature that it takes a standard barrel connector and can be powered with either 5V or 12V to use a 2.5" or 3.5" HDD.

We are RaspiBlitz ... we go for the cheap solutions first - thats our signature move ;)

TODO for v1.1 realease: Add info about an optional y-cable with second power source to README and to the shopping lists.

Also it is quite difficult to test for HDD undervoltages which are not causing immediate issues.

see this about the vcgencmd command: https://github.com/rootzoll/raspiblitz/issues/474#issue-427212699

I am ordering this: https://www.amazon.co.uk/SuperSpeed-Individual-Switches-Charging-Splitter-USB-3-0-hub-15w-AC-adapter/dp/B07B2HJG8P/ref=sr_1_1?ie=UTF8&qid=1551263091&sr=8-1&keywords=powered+usb+hub Comes with a 3 Amp PSU and outputs up to 2.4A through the USB-s so should be able to power both the HDD and the Pi.
I found that no other SBC has this hack to output 1.1A through the USB, so a powered hub will be necessary.

Comes very handy for the AtomicPi with it`s single USB3: https://twitter.com/openoms/status/1135489673244160001

Closing as the research was done for the RPI3 and HDDs (none of which is recommended now). Also the links are not available any more.


Dir: Add open_dir_of API

When porting to cap-std for many codebases, I think it will be
a fairly common operation to take an ambient path (which could be
absolute or relative to cwd) and want to access its parent directory.
In particular, in order to use this crate's handy "atomic file replacement"
APIs, one needs to correctly split such a path into a Dir instance
and a filename.

cc @sunfishcode - does this make sense to you?  Should it live in cap-std?

I'm not quite clear on how this would be used in practice. Could you spell out the atomic file replacement use case? It seems like if you have an ambient path to a file and you want to atomically replace another file with it, there should be simpler ways to do that than opening the parent as a Dir and then using the Dir to do the replace.

Could you spell out the atomic file replacement use case? It seems like if you have an ambient path to a file and you want to atomically replace another file with it, there should be simpler ways to do that than opening the parent as a Dir and then using the Dir to do the replace.

There's two aspects to this.  First, there's the "under the hood" aspect.  I am not aware of a better way to implement atomic file replacement (on Linux) than what we're doing in this codebase in https://github.com/coreos/cap-std-ext/blob/main/src/tempfile.rs
We need the parent directory because we want to create the temporary file in at least the same filesystem so that we can rely on rename() being atomic.
Now, the second aspect of this is - should that be the API exposed directly to the user?
I could imagine that we instead have Dir::replace_file_contents_ambient() - is that what you're thinking?  But if we do want to go that route, I think it makes sense to build such an API on top of this lower level helper.

If I understand correctly, this replace_file_contents_ambient API isn't logically a Dir API; it's more of an API that uses Dir internally. Does that sound right?
The lower-level open_dir_of does return a Dir, but in that case, my question is whether that's a useful function outside of this atomic-replace kind of use case. It doesn't need any of cap-std's internals, so if the only user is replace_file_contents_ambient and similar, then perhaps it could just be part of the implementation of replace_file_contents_ambient.

The current cap_std::fs docs say:

Instead of std::fs’s free functions and std::fs::File’s constructors which operate on bare paths, this crate has methods on Dir which operate on paths which must be relative to the directory.

But here we really are trying to deal with an ambient file, much like the equivalent of e.g. std::fs::write (except atomic).

then perhaps it could just be part of the implementation of replace_file_contents_ambient.

The downside I see here is needing to duplicate the relevant APIs with _ambient versions; so far there are only two, but I could imagine more.
For example, maybe someone wants to e.g. query the file metadata or remove it before writing a new version.  Today there's cap_std::fs::File::open_ambient but not metadata_ambient for example.
So I'd argue open_dir_of is a general operation.

Another alternative to this I guess is to just use std::fs:: for ambient paths, and I should try to stick the "atomic file replacement" helpers in a place they can be shared with a separate crate.  (Or I guess, try to get them into std)

cap-std isn't meant to be a collection of useful miscellaneous APIs; it's for capability-based APIs. It does have a few "ambient" functions, but their purpose is to support the capability-based APIs.
replace_file_contents_ambient is a useful feature, but it isn't a capability-based feature, and doesn't clearly support the capability-based APIs.
cap-std could add a cap_std::fs::Metadata::from_ambient_path or so, if someone wanted this. For many use cases though, std::fs::metadata is already adequate for that purpose.
All that said, I do now see the value in having an atomic-replace API in the cap-std repo. I don't yet know what form it should take though; options include adding analogs of the persist APIs of tempfile to cap-tempfile, adding a cap-atomicwrites crate as a capability-based version of atomicwrites, or adding a new crate named something like cap-atomic-replace or so, possibly based on the code in cap-std-ext.
I'm specifically thinking this doesn't belong in the existing cap_std or cap_fs_ext crates, because cap_std aims to stay close to Rust's std feature set, and cap_fs_ext aims to fill in standard-library-like functionality, which admittedly vague, but I'd prefer to avoid making it even more vague. But I am open to adding to expanding the set of crates in the cap-std repo, if needed, to cover atomic-replace.
For open_dir_of, it's fine to factor it out into a utility function that could be shared by various atomic-replace features, but with the use cases I know about, it still feels like a fairly specialized feature.

I guess there's an argument indeed that I should be depending on (and contributing to) a crate like atomicwrites.  But...hmm, I think this actually fits more into tempfile - the non-cap version of which has an API for this too: https://docs.rs/tempfile/latest/tempfile/struct.NamedTempFile.html#method.persist - it's just not as ergonomic because it requires specifying the path twice.  Also, it doesn't use O_TMPFILE on Linux; IOW the partially-written file will always have a name, which means on process/system crash it's much more likely that there are leaked temporary files.  (Eventually I hope AT_LINK_REPLACE appears which would close that gap)
I think this use case really is in a grey area between "general filesystem API" and "tempfile" and it definitely touches on capabilities too (implementing this at least internally is really best done in terms of dirfds).
Where I'm leaning is to add ergonomic atomic file replacement into cap-tempfile.  But cap-atomicwrites seems OK to me too I guess.

Closing in favor of https://github.com/bytecodealliance/cap-std/pull/239


rollback breaking changes for common models

All changed packages have been documented.

You can try these changes at https://cadlplayground.z22.web.core.windows.net/typespec-azure/prs/327/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/typespec-azure/prs/327/


19.03 dmenu / libX11 segfault regression

Issue description
$ gdb --args dmenu -i
GNU gdb (GDB) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dmenu...(no debugging symbols found)...done.
(gdb) run
Starting program: /nix/store/3l1kjcdhkmi4spcs378cb2nzdpc7g9xl-system-path/bin/dmenu -i
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib/libthread_db.so.1".
a
b

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ee0b90 in XmbLookupString () from /nix/store/ycy1gs23m1kdd3rka4fdl5y8h6aasv7h-libX11-1.6.7/lib/libX11.so.6
(gdb) bt
#0  0x00007ffff7ee0b90 in XmbLookupString () from /nix/store/ycy1gs23m1kdd3rka4fdl5y8h6aasv7h-libX11-1.6.7/lib/libX11.so.6
#1  0x0000000000402fab in main ()
(gdb) quit

Steps to reproduce
Run dmenu -i, type a few lines (these are menu items) and press Ctrl+D to EOF. The menu appears, as normal. Type a single character and a segfault occurs.
Technical details

system: "x86_64-linux"
host os: Linux 4.19.34, NixOS, 19.03.172138.5c52b25283a (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2
channels(root): "nixos-19.03.172138.5c52b25283a"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

@hlandau This is an issue related to input methods, possibly ibus-anthy (are you using that?). See here for the upstream bug report discussion.

This was a bug introduced in dmenu 4.9. It will be fixed in the next release. The workaround is to unset XMODIFIERS for dmenu. Meanwhile I ported the fix from upstream to master in 1f16d0496ce86d4c903e2e4ed6cbe4e952a7196f and release-19.03 in 1f16d0496ce86d4c903e2e4ed6cbe4e952a7196f.


fix: update cron job parameters

Brief description. What is this change?

Ticket Name

Implementation description. How did you make this change?
Cron job params are "0 0 0 * * *" for it to run every midnight. Here for more.

Steps to test

Checklist

[x] My PR name is descriptive and in imperative tense
[x] My commit messages follow conventional commits and are descriptive. My commits are atomic and trivial commits are squashed or fixup'd into non-trivial commits
[x] I have run the appropriate linter(s)
[x] I have requested a review from the PL, as well as other devs who have background knowledge on this PR or who will be building on top of this PR
[x] The appropriate tests if necessary have been written

I will deploy this PR on staging branch and will notify. Then test it on staging (https://communityfridgekw-staging.web.app/) by creating different donations and making sure you are getting emails 24 hours before the scheduled start time.

Closing because testing was unsuccessful.


toasteditor.com is down

I don't know how to contact you otherwise but your website domain has expired. Just wanted to let you know.

Hi @iObsidian , didn't see your comment till now... almost one year later :( Sorry for that.
Sooner or later I'm going to rewrite the whole editor using ReactJS and newer technologies. I'm looking for active contributors to help me. Hope it will be back soon.
In the meantime, the new domain is toasted.io, keep following


Fix: Unpack the mods automatically

Instead of asking people to do it manually.

Ah, yes, I had always planned to do this. You'll need to hunt down a C++ unzip utility.


Template variable not updating

Hello @marcusolsson, first of all: Useful plugin, thanks!
I encountered an issue.
Scenario
The JSON plugin is used to define a template variable json-var. Inside the "Fields" tab, another template variable var (e.g. of type
"Custom") is used<EMAIL_ADDRESS>== '$var')].something.

Expected behavior
json-var is always updated when var is updated.
Actual behavior
json-var isn't updated when var is updated.
Only once during creation of json-var it is initialized correctly according to var.
Environment
Grafana 7.5
Neither changing "Refresh" option nor "Cache Time" solves the issue.
Basically, I would like to use a template variable inside the "Field" configuration of the "Fields" tab. How can I get it working?

Thank you for the excellent bug report. Much appreciated!
This seems to be a duplicate of https://github.com/marcusolsson/grafana-json-datasource/issues/93. Could you confirm?

From user perspective, this issue is related to usage of variables inside the "Field" configuration, not to the cache. But I don't know the internals of this plugin, maybe it's the same root cause.
If this issue disappears after #93 is fixed, then yes - it is a duplicate, otherwise not :smirk:

I've just published v1.1.0 to the marketplace. While I haven't worked on this specifically. I've fixed a couple of related issues. Would you mind letting me know if this issue is still there in 1.1.0?

Unfortunately, I can still reproduce the issue :worried:
One further thing which might help to find the root cause: Inside the Settings menu of the Template variable json-var (from my example above) , the variable var is replaced correctly by its actual value. That means the "Preview of values" section gets updated correctly. But as soon as I save the setting and go back to the dashboard, json-var is not updated anymore.

Thank you for confirming. I'll do some more digging!

I've been experimenting with this, and while I'm able to reproduce this, I'm not sure this is something I can control in the plugin. Grafana isn't calling the function (metricFindQuery) to update the values at all, which makes me wonder whether this is something Grafana supports.
Are you able to do this with any other data source?

So to clarify, if you've set json-var to refresh on Dashboard Load, it will indeed use the value set by var when the dashboard loads. So the question is whether Grafana lets you refresh when the variable it depends on change. I've tried to reproduce this with other data sources, but have been unable to do so.
Could you give me some hope that this is actually supported?

A rather common use case for me is to have a chain of depending dashboard variables like this:
var-a depends on var-b depends on var-c.
The variables are defined using MySQL as datasource. If var-c is updated, the depending variables var-b and var-a are updated properly. That's why I assume Grafana itself supports this use case.

Thanks for confirming. I've also received confirmation from the team that this should indeed work. I'll do some more troubleshooting to see why it's not triggering.

@marcusolsson https://github.com/marcusolsson/grafana-json-datasource/issues/216#issuecomment-992540623
I juste updated the closed issue, but here is my entry again on this case :
I found a new behavior that will help you in your analysis.
I have a variable $name that contains a list of choices.
This variable is used inside a child variable on the Params tab :

When I look at the dependency tree, the $name var is not used by $child

If I refer $name variable in the Path tab :

This time, the dependency tree is well seeing the relation.

By doing this little change, my child var is now updated on the fly when I modify the $name.
I hope this will help you to correct this issue :)
Regards
Ugo

Hi all,
I just realized that parent-var does update correctly if it is referenced inside the body of child-var.
Unfortunately, if the query of child-var is a GET request and we need to pass parent-var as a Param , it updates only after a manual refresh.
Hope it helps

@ugoleleux : not all heroes wear capes. Thank you!

@ugoleleux: not all heroes wear capes. Thank you for the workaround, it works great!

I'm glad it helped you, I spent so much time discovering this workaround. :)


[CELEBORN-1496][0.4] Differentiate map results with only different stageAttemptId

backport https://github.com/apache/celeborn/pull/2609 to branch-0.4

What changes were proposed in this pull request?
Let attemptNumber = (stageAttemptId << 16) | taskAttemptNumber, to differentiate map results with only different stageAttemptId.
Why are the changes needed?
If we can't differentiate map tasks with only different stageAttemptId, it may lead to mixed reading of two map tasks' shuffle write batches during shuffle read, causing data correctness issue.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Add ut: org.apache.spark.shuffle.celeborn.SparkShuffleManagerSuite#testWrongSparkConf_MaxAttemptLimit
Closes #2609 from jiang13021/spark_stage_attempt_id.
Lead-authored-by: jiang13021<EMAIL_ADDRESS>

thank you, merging to branch-0.4(v0.4.3).


Add hydrometeors in geovars.yaml for all-sky run.

Description
Add hydrometeors in geovars.yaml for all-sky run. No impact for clear-sky experiments.
Issue closed
https://github.com/NCAR/MPAS-Workflow/issues/179
Closes #(if applicable)
Tests completed

[ ] 3dvar_OIE120km_WarmStart
[ ] 3denvar_OIE120km_WarmStart
[ ] 3dvar_OIE120km_ColdStart
[ ] 3dvar_O30kmIE60km_ColdStart
[ ] 3denvar_O30kmIE60km_WarmStart
[ ] eda_OIE120km_WarmStart

I guess these are for RTTOV?

If the changes are identical to those already merged to mpas-jedi develop, then we can merge without discussion or tests after the PR message is cleaned up.

Otherwise, please submit a PR to mpas-jedi develop also.

This issue seems to be related to saber PR https://github.com/JCSDA-internal/saber/pull/327, which includes a major saber block refactoring.  The given PR includes geom.variableSizes in the constructor of src/saber/oops/ErrorCovariance.h and src/saber/oops/Localization.h. This PR was merged on Oct 12, 2022.

All sounds good.  Will merge when source code repo has matching PR.


automatically setup asan suppressions in testing.js

Scope & Purpose
automatically setup asan suppressions in testing.js when running from an asan enabled arangosh

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[x] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[x] No backports required
[ ] Backports required for: (Please specify versions and link PRs)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[x] This change is a trivial rework / code cleanup without any test coverage.
[x] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

Link to Jenkins PR run:

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-linux-asan/521/

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-linux-asan/521/

asan run blue except fuerte test timeout not working.

asan run blue except fuerte test timeout not working.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13592/

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13592/

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13620/

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13620/

tests blue except unrelated.

tests blue except unrelated.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13640/

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13640/

tests blue except unrelated error on mac.

tests blue except unrelated error on mac.

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13745/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13745/


Audit log doesn't work

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here
[X] I've tried running master-labeled docker image and the issue still persists there
[X] I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)
I have Apache Kafka UI cluster section configured same like described in this documentation page: https://docs.kafka-ui.provectus.io/configuration/audit-log
kafka:
  clusters:
    - name: local
      BOOTSTRAPSERVERS: kafka1:19092
      audit:
        topic-audit-enabled: true
        console-audit-enabled: true
        topic: "__kui-audit-log" # default name
        audit-topic-properties: # any kafka topic properties in format of a map
          - retention.ms: 43200000
        audit-topics-partitions: 1 # how many partitions, default is 1
        level: ALL # either ALL or ALTER_ONLY (default). ALL will log all read operations.

I also have rdap with azure oauth2 configured based on roles - if it's important
Applications starts normally but there is no even any information about audit logs in console (also with log level trace) and audit topic is not present
docker-compose file:
kafka-ui:
    container_name: kafka-ui
    image: provectuslabs/kafka-ui:latest
    ports:
      - 2222:8080
    depends_on:
      - kafka1
    volumes:
      - /kui-config.yml:/kui-config.yml
    environment:
      SPRING_CONFIG_ADDITIONAL-LOCATION: /kui-config.yml

Expected behavior
Audi log should log information about topic/message access on both audit log topic and in console
Your installation details

0.7.1
Code available in description section

Steps to reproduce
Run application with audi log enabled like described here: https://docs.kafka-ui.provectus.io/configuration/audit-log
Screenshots
No response
Logs
No response
Additional context
No response

I was able to get audit logging working with the master tag and with the properties as camelCase rather than kebab-case. So for example, something like
kafka:
  clusters:
    - name: local
      BOOTSTRAPSERVERS: kafka1:19092
      audit:
        topicAuditEnabled: true
        consoleAuditEnabled: true
        topic: "__kui-audit-log" # default name
        auditTopicProperties: # any kafka topic properties in format of a map
          - retention.ms: 43200000
        auditTopicsPartitions: 1 # how many partitions, default is 1
        level: ALL # either ALL or ALTER_ONLY (default). ALL will log all read operations.

I was able to get audit logging working with the master tag and with the properties as camelCase rather than kebab-case. So for example, something like
kafka:
  clusters:
    - name: local
      BOOTSTRAPSERVERS: kafka1:19092
      audit:
        topicAuditEnabled: true
        consoleAuditEnabled: true
        topic: "__kui-audit-log" # default name
        auditTopicProperties: # any kafka topic properties in format of a map
          - retention.ms: 43200000
        auditTopicsPartitions: 1 # how many partitions, default is 1
        level: ALL # either ALL or ALTER_ONLY (default). ALL will log all read operations.

This config worked for me by changing
auditTopicProperties: # any kafka topic properties in format of a map
  - retention.ms: 43200000

to
auditTopicProperties: # any kafka topic properties in format of a map
  retention.ms: 43200000

After adding above config the topic created but the messages are not coming, what might be the issue?
This is my configuration
audit:
topicAuditEnabled: true
consoleAuditEnabled: true
topic: "__kui-audit-log" # default name
auditTopicProperties: # any kafka topic properties in format of a map
retention.ms: 43200000
auditTopicsPartitions: 1 # how many partitions, default is 1
level: ALL # either ALL or ALTER_ONLY (default). ALL will log all read operations.

for me, still it does not work.
kafka-ui	kafka-ui 	42      	2024-04-22 12:16:27.591323943 +0400 +04	deployed	kafka-ui-0.7.6	v0.7.2
ERROR [parallel-8] r.c.p.Operators: Operator called default onErrorDropped
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.ClassCastException: Cannot cast com.provectus.kafka.ui.config.auth.RbacOidcUser to org.springframework.security.core.userdetails.UserDetails
Caused by: java.lang.ClassCastException: Cannot cast com.provectus.kafka.ui.config.auth.RbacOidcUser to org.springframework.security.core.userdetails.UserDetails

Please note this repo is not maintained (#4255), but we've fixed this issue here: https://github.com/kafbat/kafka-ui
Eager to see your feedback & stars there :)

For me it is working and able to see audit logs, This is my config
 **ldap:
      urls: ldap://ldap.yourdomain.in
      base: "cn={0},ou=people,dc=planetexpress,dc=com"
      admin-user: "cn=admin,dc=planetexpress,dc=com"
      admin-password: "GoodNewsEveryone"
      user-filter-search-base: "ou=people,dc=planetexpress,dc=com"
      user-filter-search-filter: "(&(cn={0})(objectClass=user)(|(memberof=cn=<user group>,ou=people,dc=planetexpress,dc=com)))"
      group-filter-search-base: "ou=people,dc=planetexpress,dc=com"
  oauth2:
    ldap:
      activeDirectory: false
      aсtiveDirectory:
        domain: <domain>
  logging:
    level:
      root: debug
      com.provectus: debug
      org.springframework.security: debug
  kafka:
    clusters:
    - bootstrapServers: <url>
      name: kafka
      audit:
        topicAuditEnabled: true
        consoleAuditEnabled: true
        topic: "__kui-audit-log" # default name
        auditTopicProperties: # any kafka topic properties in format of a map
          retention.ms: 43200000
        auditTopicsPartitions: 1 # how many partitions, default is 1
        level: ALTER_ONLY # either ALL or ALTER_ONLY (default). ALL will log all read operations.**


SASL subclass prototype

This is how I would like to implement SASL auth and communication for the bot, with a subclass of class Bot_core.
A pass is in place while I build the functionality. I feel like requesting a pull of simple commits to my forked branch a little at a time will help ease the transition.
Thoughts?

See ldap3 package's home page here

check github.com./pyhoneybot moving there


Not working

unity-changeset list --versions
No changesets found at 'https://unity.com/releases/editor/archive'
No changesets found at 'https://unity.com/releases/editor/lts-releases.xml'
No changesets found at 'https://unity.com/releases/editor/releases.xml'

(No results)

unity-changeset 6000.0.25f1
4859ab7b5a49

2.2.0 released


[HotFix] Storing and sending time in millis instead of timestamp with format

[HotFix] Storing and sending time in millis instead of timestamp with format

Tracking time in millis
Storing millis in database

Codecov Report

Merging #641 into hotfix/3.4.1 will increase coverage by 0.01%.
The diff coverage is 54.54%.

@@               Coverage Diff                @@
##           hotfix/3.4.1     #641      +/-   ##
================================================
+ Coverage         27.49%   27.51%   +0.01%
================================================
  Files               231      231
  Lines             16950    16948       -2
  Branches           1479     1479
================================================
+ Hits               4661     4663       +2
+ Misses            11792    11788       -4
  Partials            497      497

Impacted Files
Coverage Δ

.../java/com/mercadopago/px_tracking/model/Event.java
83.33% <ø> (ø)
:arrow_up:

.../mercadopago/px_tracking/utils/HttpClientUtil.java
0% <0%> (ø)
:arrow_up:

.../px_tracking/strategies/BatchTrackingStrategy.java
39.13% <0%> (+3.13%)
:arrow_up:

...com/mercadopago/px_tracking/model/ActionEvent.java
80% <100%> (ø)
:arrow_up:

.../com/mercadopago/px_tracking/model/ErrorEvent.java
70.83% <100%> (ø)
:arrow_up:

...mercadopago/px_tracking/model/ScreenViewEvent.java
85% <100%> (ø)
:arrow_up:

...ago/px_tracking/strategies/EventsDatabaseImpl.java
48.71% <60%> (+2.56%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 59b5fbc...3a50dc1. Read the comment docs.


Jax now supports mac with m1 chip

Good to know, thanks :) Is there an action you suggest with this? Since we're making jax optional anyway?

We should undo this https://github.com/pybamm-team/PyBaMM/commit/12cca8157b479d5590e52e23e9a8c4b28de4499b or should I remove all of it?

I think instead of being based on the platform, the testing of those lines should depend on whether the user has installed jax or not


fix trailing commas and a missing semicolon

Stumbled upon a few trailing commas causing problems in older IE versions.

F**ing IE 😄


Improve macro item resolution

~This PR add a new namespace Macros in per_ns.rs to allow following use case:~
This PR improve macro item resolution to allow following use case:
//- /main.rs
use foo::bar;
bar!();

//- /lib.rs  (crate foo)
#[macro_export]
macro_rules! bar{
() => {
    struct Foo { field: u32 }
}

I am not sure if macros should go into PerNs long term:

I wish we could install a strict separation between pre-expansion and post-expansion phases
macro_rules for local crate doesn't really work like an item: you can have two macros with a same in a module, and the second macro would shadow the first one.

However, I don't know how the long-term solution should look like, and I won't be able to dig into that this week (there's a ton of work related to wrapping up my Rust course), so I am totally fine with landing this approach!
Although let me jot down a possible alternative!
The difference between type/value ns and macro ns is that macro ns is distinguished purely syntactically. That is, we know that we should look at the macro if the path ends with !. This is in contrast to types/values, where the same syntactic form can refer to either ns.
So, what if instead of introduce a third variant to per-ns, we extend resolver interface to roughtly this:
fn resolve(&self, path: hir::Path) -> Option<ModuleDef>;
fn resolve_with_macros(&self, path: hir::Path) -> Option<ModuleDefOrMacro>

So, only callers that explicitly opt-into caring about macros would get macro resolution?

I've actually thought that having one method per namespace would be a better interface for Resolver... I think in most cases, we have one namespace in which we're actually looking for results.

Don't macro re-exports just use the normal syntax (I.e with no !)?
I may be misunderstanding the discussion of course.

@DJMcNab I think they means if that macro is resolved, we know it is macro which must be following a !, If it is not resolved, we don't need to know whether it is types or values or macro.

@matklad I removed the Macro namespace and add a new enum ModuleDefOrMacroNs to replace the PerNs<ModuleDef> :
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum ModuleDefOrMacroNs {
    ModuleDefNs(PerNs<ModuleDef>),
    MacroNs(MacroDef),
}

#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct Resolution {
    /// None for unresolved
    pub def: ModuleDefOrMacroNs,
    /// ident by which this is imported into local scope.
    pub import: Option<ImportId>,
}

And it allow as handle the import-resolution for macro and without adding a new namespace.
And note that this PR do not try to change the name-resolution part. It only affect import-resolution.

It is already to review now 👍

.I just squash commits for easy to review and remove irrelevant commits. :)

Looks good now!
bors r+

rustfmt failure

bors retry


Cannot login via custom domain

I have Ackee v2 running on Heroku and I'm using Cloudflare to point a subdomain of a custom domain at it. I can login just fine using the .herokuapp.com domain, but when I try to login using the custom domain I'm seeing:
Not found
[552]</n.default@https://<custom domain>/index.js:124:127951

And it looks like it's getting a 404 error when trying to POST to the /tokens endpoint.
Any ideas why this might be happening?

There shouldn't be request to /tokens anymore. This sounds like a caching issue / old JS file.

Doh! That was it. Thanks!


wechat: Update to <IP_ADDRESS>, fix checkver

Relates to #12762

[x] I have read the Contributing Guide.

PS. the https://webcdn.m.qq.com/spcmgr/download/WeChat<IP_ADDRESS>.exe
WeChat$version.exe
I don't know if it will change to WeChatSetup_$version.exe someday

Seems been fixed in 54a501e.
Checkver and autoupdate work properly.
Is this change really necessary?

Checkver and autoupdate work properly. Is this change really necessary?

It is not necessary, but it can be combined with the download link (https://webcdn.m.qq.com/spcmgr/download/WeChat$version.exe) to change this manifest to a non-nightly form.
It can be regarded as an alternative method. Or we can close this PR, it doesn't matter.


Scroll to top for Link

If I have two pages with scrollbar and when I'm clicking one link the scroll position remains the same on the other page.
I could scroll to top on each page render, but I want to keep my scroll position for 'back' button.
Back and Forward buttons in browser works fine now, scroll position is keeping for each page.
So I think the Link or route() function should have window.scrollTo(0, 0) on click.
Or am I missing something?

hi try with this....
handleRoute = e => {;
		this.currentUrl = e.url;
		window.scrollTo({ top: 0 });
	};

	render() {
		return (

				<Helmet>
					<title>Titulo de la pagina</title>
				</Helmet>

					<Router url={this.props.url} onChange={this.handleRoute}>
						{routes.map(({ path, component: C }) => (
							<C path={path} key={path} />
						))}
					</Router>

		);
	}

This was intentionally left out of the library by default, because it's hard determine when it would be appropriate to scroll to the top of the page (eg: should we do this for programmatic navigation? what about history back/forward?)
Here's a "polyfill":
let old = history.pushState;
history.pushState = function() {
  old.apply(this, arguments);
  scrollTo(0, 0);
}

I would expect a scroll to happen if clicking a link or calling route, but not if navigating by history or using a fragment in the link.
Is there a path to do this without modifying globals?

@developit It would be nice to be able to keep the browser default on maintaining/resetting scroll position. The current approach seems pretty broken for common scenarios (e.g. click link > go to another page). Most browsers I am aware of reset the scroll position when the user clicks a link but remember the scroll position with history navigation (forward & back buttons).


add currency for paypal express web-component

Summary
I have added "amount" to Paypal express configurations to fix issue with different currency
I got this error:
Error: Expected currency from order api call to be USD, got GBP. Please ensure you are passing currency=GBP to the sdk url.

Hello @AVATOR
Thanks a lot for your contribution!
We will have to close this PR and re-create it by ourselfs in order to run the pipeline, but however we plan to include this in the next release happening soon.
Kind Regards
Aleksandar
Adyen


yajs + es.next.syntax.vim + vim-jsx indent now working

yajs + es.next.syntax.vim

work fine. but
yajs + es.next.syntax.vim + vim-jsx

break indent when enter pressed.

How about vim-jsx only

it seems work only jsx syntax.

i commented all plugin except those plugin. but it has same problems.

Try add this https://github.com/othree/xml.vim

i added 4 plugins
Plug 'othree/yajs'
Plug 'othree/xml.vim'
Plug 'othree/es.next.syntax.vim'
Plug 'mxw/vim-jsx'

but it has problem also. you mean load 'othree/xml.vim' without 'mxw/vim-jsx'?

How about yajs + vim-jsx only?

BTW, I enable every vim-scripts and works fine.
So I will need your help to find out the root cause~

yajs + vim-jsx:
has problem also. indent applied only JSX syntax.

i also added vim-jsx setting let g:jsx_ext_required = 0. is this cause problem?

gavocanov/vim-js-indent plugin makes JS, JSX indent work.
I think the problem is absence of GetJavascriptIndent() function. gavocanov/vim-js-indent plugin just indent part of pangloss/vim-javascript plugin. so it has function too.
Right now. it seems to be work fine with vim-js-indent. but i hope yajs plugin to be support jsx indent without 3rd party plugins.

Actually indent system and syntax highlight system are independent.
They both have their own rule to deal with their stuff.

I created jsx syntax highlight plugin for yajs.vim and es.next.syntax.vim.
https://github.com/MaxMEllon/vim-jsx-pretty
Please use it if you would like to.


NH-70086 add init container for OTEL connection to node and event collectors

link: https://swicloud.atlassian.net/browse/NH-70086
modified values.yaml and moved 'otel.metrics.swi_endpoint_check' to 'otel.swi_endpoint_check' to be used for all the init containers

Is there a reason for not adding this also for the node collector for Windows?

Please make sure there are unit tests for the otel.swi_endpoint_check.enabled and otel.metrics.swi_endpoint_check setting for all the Deployments/DaemonSets, not just the metric collector.

If the old value is deprecated we need to communicate it and we should remove it from values.yaml (but continue support it in templates).
...

Good point. The condition check was adjusted, though using a different logic.


Using RateLimiter from Guava to avoid triggering GitHub abuse detection mechanism

Fix for #17, #28 and #88

Thanks.

I just deployed a 0.12.0 release with this fix in it, thanks :+1:

Great, thanks !

Small tip, use --debug when running Maven.  I thought I ran into the #101 problem but it just took a while to generate the large number of blobs.  Running with --debug showed the progress

I'm facing the same problem (using version 0.12).
To create 460 blobs it takes like 1 hour (not joking).

Yes sadly this PR didn't take GHE in to account at all, and there is no way to override this setting... even though there  is know way i can exceed my GHE rate limit....

@jakeswenson GHE ?

@bguerin GHE = Github Enterprise
Basically a corporate github solution

@jakeswenson ok thanks. How does GHE works ? Higher limit, no limit at all ?


[Feature request] Support 'always scroll' in output channel

Current Smart scrolling behavior introduce some unexpected behavior, see https://github.com/Microsoft/vscode/issues/56974 .
Several Code Runner users complain about the output window does not automatically scroll down. In previous version of VS code, it works normally.
If current behavior is by design, then it would be a FR to add an option to support 'always scroll'. 😄

Assigning to @sandy081 since you closed that one as designed.
If you do not have time to look into this, assign back to me and I can check what is broken. And we should not introduce any new configuartion

@isidorn #56974 was marked as designed because of https://github.com/Microsoft/vscode/issues/49110 which is the PR you accepted.
There is another issue https://github.com/Microsoft/vscode/issues/63525 where this is complained already. Hence marking as dup.


Format quota infowindow numbers

This PR fixes: #11743

Have you checked the possibility when we estimate the money you need to pay in order to run the analysis? It could be, in the worst scenario, thousands of dollars :S.

:es: in acceptance 💃


Add multilingual field exceptions

Summary
Closes https://github.com/openstreetmap/iD/issues/9043
Adds exceptions for name:left, name:right, name:etymology, name:signed, and name:source when opening the multilingual tag.
Testing
Can be tested by adding these tags to a feature, and verifying that no multilingual field appears.

@1ec5 Thanks for the feedback! This is my first time contributing here, so my initial approach was attempting to be more permissive of nonstandard tags, but I do agree restricting the locale matching would be a better approach.
With your feedback in mind, I've changed the regex to match on 2-3 letters, optionally followed by a hyphen and 4 letters.
This seems to match the streetcomplete commit you referenced.
My main question is if this is too disruptive to non-standard uses of name:<language>, that may not comply with this format. Again, I'm fairly new here, so not sure how to survey the usage of these tags, or what the etiquette is around changing that behavior is. Let me know what you think. Thanks!

I should've added this in the issue. You can find the usage of tags on taginfo.
https://taginfo.openstreetmap.org/search?q=name%3A


Depth / stencil - how to communicate disabling depth checking?

D3D12 has an explicit flag (DepthEnable) for disabling depth checking:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn770356(v=vs.85).aspx
OpenGL has a similar thing with GL_DEPTH_TEST and glEnable:
https://www.khronos.org/opengl/wiki/Depth_Test
And Vulkan has a bit that it sets for this too:
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkPipelineDepthStencilStateCreateInfo.html
Metal does not seem to have a bit for this, and it appears that the NXT API is using this approach that infers disabling depth testing through the compare function:
https://developer.apple.com/documentation/metal/mtldepthstencildescriptor
I think that we have this backwards right now. This is a low-level, explicit API and having enum values side-affect into multiple settings is undesirable.
This came up when wiring up depth / stencil to the D3D12 backend, filing an issue to discuss how to proceed.

The same implicit optimization of the state vs explicitly enabling things will happen for independent blend states. In PR #103 we have it implicit, but when we revisit this issue, we should handle independent blend state the same way we do depth testing.


0.106: DSMR slimme meter sensor.power_tariff reports 'inverted' tariff (normal / low)

The problem

DSMR slimme meter sensor -  sensor.power_tariff reports 'inverted' tariff (normal / low).
In HA core version 0.105 it worked correctly.
During the 'piek uren' sensor.power_tariff state was 'normal'
During the 'dal uren' sensor.power_tariff state was 'low'
After the upgrade to 0.106 the states are inverted.
During the 'piek uren' sensor.power_tariff state is 'low'
During the 'dal uren' sensor.power_tariff state is 'normal'
Environment

Home Assistant core 0.106.0
Running in docker on Synology NAS
Last working: 0.105.5

Home Assistant release with the issue:
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):
Integration causing this issue:
Link to integration documentation on our website:

Problem-relevant configuration.yaml

Traceback/Error logs

Additional information

@dupondje could you please take a look at this issue, because it seems to be caused by your PR #30121? Thanks 👍

Can you share me your dsmr config?
I double checked the code, and it seems fine. But share your conf, and I'll look at it :)

`  - platform: dsmr
port: /dev/ttyUSB0
dsmr_version: 5

platform: template
sensors:
tarief:
value_template: '{%if states.sensor.power_tariff.state == "low"%}Dal{%else%}Piek{%endif%}'
friendly_name: 'Elektriciteits tarief'
`
At 21.00 hour I also noticed that the state from sensor.power_tariff changed from LOW to NORMAL. In previous HA versions at 21.00 hour the state went from NORMAL to LOW (which is correct).

Please test https://github.com/home-assistant/home-assistant/pull/32233 if you can :)

I really wouldn't mind testing it, however I'm running HA core in Docker on my Synology NAS and I have really no idea were to put the modified sensor.py file from the DSMR component?


Enable @derivedFrom when the target field is an interface

Do you want to request a feature or report a bug?
Feature / Bug (not sure)
What is the current behavior?
@derivedFrom fails if it targets a field with an interface as a type
What is the expected behavior?
It should be possible to also use @derivedFrom for this "reverse" case.
Just to illustrate, this works:
interface FooInterface {
  ...
}

type Foo implements FooInterface {
  bar: Bar!
}

type Bar {
  foos: [FooInterface!]! @derivedFrom(field: "bar")
}

But this fails:
interface BarInterface {
  ...
}

type Foo {
  bar: BarInterface!
}

type Bar implements BarInterface {
  foos: [Foo!]! @derivedFrom(field: "bar")
}

I discussed this briefly with @Jannis today. He dug up this test case which covers case #A but not case #B:
https://github.com/graphprotocol/graph-node/blob/335e0d88b842aa7e141df2b44166ff13e48f67db/core/tests/interfaces.rs#L338-L359

./cc @lutter Jannis mentioned that you probably know why this is the case (if it's an intentional limitation / design choice) :-)


Selecting 24 word seed phrase on Trezor results in 12 words

User feedback:

I used a blank Trezor, got the set up going and selected I wanted a 24 word seed from the menu but it ended up only giving me a 12 word seed.
OS X 10.9.5, Trezor firmware 1.3.0

Looks like the entropy size isn't getting sent to the Trezor properly. The FEST tests should have picked this up.

Could be a fault in the Trezor emulator we use in the FEST tests

Turned out to be some duplicated code. Simple fix.
Ready for review and close.

Wiped a trezor and created a wallet with 24 words successfully.
Closing


PR: Add icon when running with bootstrap

Fixes #4444
This adds the spyder icon to the mac dock when running from bootstrap.

Great work!! This was something we needed since a long time ago!
A couple of questions:

Should we restrict this to macOS only? I mean, this could interfere with how we set our icon on Windows.
This doesn't apply only to bootstrap (there's no  DEV usage here). So my question is: would this apply to a properly installed Spyder too?

Should we restrict this to macOS only? I mean, this could interfere with how we set our icon on Windows.

I have no idea :-|, how should I check this?

This doesn't apply only to bootstrap (there's no DEV usage here). So my question is: would this apply to a properly installed Spyder too?

Yes you are right. Well on mac in we need to use the app bundles to get the right behavior, so that is fixed on that side already. Regarding Linux and windows I am not sure.
I could add the DEV flag? I could install 3.1.4 and patch it there on win and linux to see what is the resulting behavior, at least for conda installs.

Actually @ccordoba12 I think my method is better because it does it earlier in the launch process. Now we do it inside the MainWindow, whereas the way I do it I use app.setWindowIcon. Maybe I should just remove the way we currently do it and replace with this method.

@ccordoba12 I think this is working just fine on mac, linux and windows

Failures in CircleCI are unrelated to this.


[crypto] serialize/deserialize keypairs with LCS

Convert from using bincode to LCS when serializing and deserializing
keypairs.
Fixes: #952

@bors-libra r=huitseeker

:pushpin: Commit 75cdd8c has been approved by huitseeker

:hourglass: Testing commit 75cdd8ceecd95670d39bac1a1b74030d04d3ffeb with merge d46a63f9ab663a065a5237c493c117abe64b0441...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: huitseeker
Pushing d46a63f9ab663a065a5237c493c117abe64b0441 to master...


Task/try transparent logo

@alexromanov Is this logo any better? If you like it , merge.

Sry. forgot to pull bofore creating branch.


[Indexer] Add a generic backfill template

Description
This PR introduces a generic backfill task trait and a runner.
It supports querying the DB in parallel, process them and commit them back to the DB.
The original SqlBackfil for full_objects_history is then added as one instance.
This PR also adds another instance for system_system_summary_json backfill.
Test plan
Run locally.

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] REST API:

Do you think it would be feasible to keep around the generic SQL backfill so that if you can get away with it, you can avoid updating the indexer codebase to run the backfill?

It seems cleaner to have a dedicated Rust file for it, and hopefully, it's fairly trivial to add. The SQL string concatenation could be quite error-prone.

I ended up retaining the SqlBackfill.


Rotation and translation mouse gizmos

Add support for rotating and translating objects using the mouse and keyboard. Also add the 3d gizmos like most other 3D editors have.

Improved Control Ideas

Hold left click when hovering over an object: move stuff around
Hold right click when hovering over an object: rotate
When you hover over an object it glows / lights up
Hold alt: snap objects together
In addition to numbers there are also bars:

Gyro control gizmo examples
Pics


ModuleNotFoundError: No module named 'colorama'

i install all the packet. but when open its said ModuleNotFoundError: No module named 'colorama'.
but coloroma already installed: Requirement already satisfied: colorama

pip bug

using python3 command work!


Add Shooter Control Class

Add logic to control these motors. It should have at least the following methods:

// Call with true to cause the shooter to run, false to stop it.
public void setRun(boolean runCmd){

}

// Call with true to cause the feed wheels to run and feed balls to the shooter. False should stop the feed motors.
public void setFeed(boolean feedCmd){

}

//Call this in a periodic loop to keep the shooter up to date
public void update(){

}

// Returns whether the shooter is running at its setpoint speed or not.
public boolean getSpooleldUp(){

}

Shooter should have at least one calibration to determine its setpoint speed for launch. When running, it should attempt to PIDF control the launch wheel to that speed as quickly as possible.
Smart motor API's should be used to control the motor in a closed-loop fashion against the desired speed when running, or set the voltage to zero (open loop) when not running. Calibrations for PID constants should be built into the smart motor controller itself. The Feed-Forward gains will have to be in the shooter motor class. Start with a simple feedforward of commanded_speed * kF. Make a calibration for kF, and start it off by default at 12.0 / SHOOTER_MAX_RPM.
Regardless of the Feed command, feeding should only happen if the shooter is running at the correct speed (IE, getSpooledUp() returns true)

Keep an eye on the design review - these requirements are highly subject to change.


Swiper + Tabbar,  the aotuplay does not work

<div data-pagination=".swiper-pagination-c1" data-space-between="30" data-autoplay="2500" data-autoplay-disable-on-interaction="false" class="swiper-container swiper-init ks-carousel-slider">

It will be broken because Swiper became hidden. You need to stopAutoplay when tab containing it becomes invisible and startAutoplay when it becomes visible again

Thank you, it works. but Is this a possible bug?
$$('#view-1').on('show', function (e) {
  var mySwiper = $$('.swiper-container')[0].swiper;
  mySwiper.stopAutoplay();
  mySwiper.startAutoplay();
});

Looks correct, no bugs should be there. But i would improve it as:
$('.view.tab').on('show', function (e){
  var mySwiper = $$('.swiper-container')[0].swiper;
  if ($(this).attr('id') === 'view-1') mySwiper.startAutoplay(); //tab with swiper became visible
  else mySwiper.stopAutoplay(); //other tab became visible
})

It is cool :)

Hi @MakeHui ,
Could you please tell me how do you fix this problem you provided?
Thanks.

According to the owner, go back to view-1 and re-execute startAutoplay(), but that's a long time ago, you can have a try.


Sync use IPv6 Address Prefix Reserved for Documentation

Sync  PR: https://github.com/kubernetes/website/pull/36683
content/zh-cn/docs/concepts/services-networking/dns-pod-service.md
content/fr/docs/concepts/services-networking/dns-pod-service.md
content/id/docs/concepts/services-networking/dns-pod-service.md
content/ja/docs/concepts/services-networking/dns-pod-service.md
content/ko/docs/concepts/services-networking/dns-pod-service.md
content/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
content/ja/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
content/id/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
content/fr/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
content/ja/docs/tasks/network/validate-dual-stack.md
content/ko/docs/tasks/network/validate-dual-stack.md
content/zh-cn/docs/tasks/network/validate-dual-stack.md
content/en/docs/tasks/network/validate-dual-stack.md

hi, @jzhupup Please check https://kubernetes.io/docs/contribute/new-content/#languages-per-pr
/close


Logstash connection failure

Firstly - Great project!
Re. config.php
I have a time based index 'logstash-apache-*' in ES. I have tried logstash, logstash-apache-, logstash-2016.08.12 in config.php but still get a Failure in the health screen. The alerts section works fine.
Any debug logging available?
'logstash' => [
'hosts' => ['http://<IP_ADDRESS>:9200'],
'index_hosts' => [],
'index' => 'logstash-apache-',
'date_based' => true,
'date_field' => '@timestamp',
'src_url' => null,
Curl request:
curl http://<IP_ADDRESS>:9200/logstash-apache-2016.08.14?pretty
{
"logstash-apache-2016.08.14" : {
"aliases" : { },
"mappings" : {
"default" : {
"_all" : {
"enabled" : true,
"omit_norms" : true
.....

Thanks!
For the index name, I believe logstash-apache should do the job.
You can see errors in the standard apache error logs (varies depending on distro: error_log, info.log, etc).

Thanks! I must have tried everything but that.

Hey,
do u solved the issue @gromit6891 ?
I guess i got the same error, hosting 411 on one node and elastic and logstash on a second one.
Healthmonitor for Logstash is read and i can't find something usefull inside the apache error.log

@christophwischow Are you still having this problem? If so, can you create a new issue with more details about your config and setup?

Gladly I solved the issue and got it up and running.

@christophwischow how did you resolve your problem , i have the same issue .
I create a new search but when i try to test or to run , i have always No Result .
When i use elasticsearch for searching with the same parametres i have a result .
I thing that the problem in config.php . Please help me.


Address query issues with waiting lists

I can't fully test this on the right dataset but this is the best way I can think of to reduce the N + 1 issues with the waiting lists.
It eager-loads the attributes used in queries; no breaking changes as all unit and feature tests pass. Will be interested to see how it performs in production.

:tada: This PR is included in version 6.11.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Question mark symbols surrounding comments

https://imgur.com/a/xr16J
For some reason I am getting question marks surrounding comments (in both iTerm and default terminal), not sure how to fix it. Running OS X El Capitan.

What shell are you using? It looks like your $TERM variable is set incorrectly.
Also check that your locale is defined:
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

I'm using bash; "echo $TERM" returned "xterm-256color". Locale is defined as "en_GB.UTF-8" (which makes sense, as I'm English), will changing it help?

Hmm, all of those setting sound appropriate.
From your screenshot it looks like there is a lot more going wrong than just the question marks. The screen isn't being refreshed, text is getting jumbled and printed in the wrong place, etc.
RTV uses the ncurses library to send characters to the terminal. Usually what happens is that if your terminal isn't configured correctly, ncurses will try to use the wrong terminal codes and you end up with corrupt text like you're seeing.

Closing due to lack of information