Support 64 bit NodeJS executable

From @AshleyGrant on November 19, 2018 17:15
Switching to the 64 bit runtime does not switch to a 64 bit version of Node. Unfortunately, this causes issues as there are some NPM packages that only support running on 64 bit Node. One in particular is "sharp." This is an image manipulation library that is orders of magnitude faster than alternatives, but only supports running on 64 bit Node due to it calling to DLLs that are compiled to run on x64.
As it currently stands, Node developers have no way to utilize 64 bit Node on a consumption plan. Switching to the 64 bit Node executable when running the function app in 64 bit mode would solve this problem.
Copied from original issue: Azure/Azure-Functions#1041
We cannot deploy 64 bit nodejs and make breaking changes in underlying infrastructure of this behavior, especially because app service customers will be affected. However, we can introduce this change with the introduction of ~ targets for WEBSITE_NODE_DEFAULT_VERSION.
Involves:

deploy 64 bit nodejs version for each major version: https://github.com/Azure/azure-functions-nodejs-worker/issues/201
update dwas logic to search for 64-bit version if ~ targeted by WEBSITE_NODE_DEFAULT_VERSION: https://github.com/Azure/Azure-Functions/issues/1137

It is really boring. I need to find an alternative to Azure Functions. Are there any update about this issue?

Sorry for the delay. We don't fully support a 64 bit Node.js executable. However, we do have a workaround to "bring your own node executable" and then point to it.
Bringing your own node.exe

In Kudu, which will be at [sitename].scm.azurewebsites.net, go to Debug Console.
Drop the node.exe you want to use in D:\home (can be in root, can be nested)
Take note of the path (ex: D:\home\node)

Pointing to a custom node.exe

Add the AppSetting languageWorkers:node:defaultExecutablePath and set it to the path (from before) to your node.exe (ex: D:\home\node)

Again, this is a not ideal workaround, but let me know if you are not unblocked by this.

Thank you for your answer. It is also required to switch Platform to 64-bit in Application Settings for this to work.

@mhoeger Hello, when I follow your instructions App Functions won't start and I get the following error:
Microsoft.Azure.WebJobs.Script.HostInitializationException: Failed to start Language Worker Channel for language :node ---> System.ComponentModel.Win32Exception: Access is denied
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at Microsoft.Azure.WebJobs.Script.Rpc.LanguageWorkerChannel.StartProcess() in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\LanguageWorkerChannel.cs:line 118
--- End of inner exception stack trace ---
at Microsoft.Azure.WebJobs.Script.Rpc.LanguageWorkerChannel.StartProcess() in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\LanguageWorkerChannel.cs:line 125
at Microsoft.Azure.WebJobs.Script.Rpc.LanguageWorkerChannel.StartWorkerProcess() in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\LanguageWorkerChannel.cs:line 236
at Microsoft.Azure.WebJobs.Script.Rpc.FunctionDispatcher.<get_ChannelFactory>b__15_0(String language, IObservable1 registrations, Int32 attemptCount) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\FunctionRegistration\FunctionDispatcher.cs:line 64    at Microsoft.Azure.WebJobs.Script.Rpc.FunctionDispatcher.CreateWorkerState(String runtime) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\FunctionRegistration\FunctionDispatcher.cs:line 117    at Microsoft.Azure.WebJobs.Script.Rpc.FunctionDispatcher.Initialize(String workerRuntime, IEnumerable1 functions) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Rpc\FunctionRegistration\FunctionDispatcher.cs:line 112
at Microsoft.Azure.WebJobs.Script.ScriptHost.InitializeAsync() in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Host\ScriptHost.cs:line 280
at Microsoft.Azure.WebJobs.Script.ScriptHost.StartAsyncCore(CancellationToken cancellationToken) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Host\ScriptHost.cs:line 252
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService.StartHostAsync(CancellationToken cancellationToken, Int32 attemptCount, JobHostStartupMode startupMode) in C:\azure-webjobs-sdk-script\src\WebJobs.Script.WebHost\WebJobsScriptHostService.cs:line 146

@mhoeger I followed your instructions and loaded from a x64 node.exe. However, I am still getting the following error when loading the Sharp node module:
Microsoft.Azure.WebJobs.Host.FunctionInvocationException: Exception while executing function: Functions.postProcessMedia ---> Microsoft.Azure.WebJobs.Script.Rpc.RpcException: Result: Failure
Exception: Worker was unable to load function postProcessMedia: 'Error: \?\D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\build\Release\sharp.node is not a valid Win32 application.
\?\D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\build\Release\sharp.node'
Stack: Error: \?\D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\build\Release\sharp.node is not a valid Win32 application.
\?\D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\build\Release\sharp.node
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at bindings (D:\home\site\wwwroot\postProcessMedia\node_modules\bindings\bindings.js:112:48)
at Object. (D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\lib\constructor.js:10:34)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\lib\index.js:3:15)
at Microsoft.Azure.WebJobs.Script.Description.WorkerLanguageInvoker.InvokeCore(Object[] parameters, FunctionInvocationContext context) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Rpc\WorkerLanguageInvoker.cs:line 74
at Microsoft.Azure.WebJobs.Script.Description.FunctionInvokerBase.Invoke(Object[] parameters) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\FunctionInvokerBase.cs:line 84
at Microsoft.Azure.WebJobs.Script.Description.FunctionGenerator.Coerce[T](Task1 src) in C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\FunctionGenerator.cs:line 225    at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249
--- End of inner exception stack trace ---
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 293

\D:\home\site\wwwroot\postProcessMedia\node_modules\sharp\build\Release\sharp.node is not a valid Win32 application.
Are you sure your function runs on the 64-bit node.exe?
If you print a process.arch in your code, do you see 'x64' and not 'ia32'?

I was not able to get past running npm install It doesn't seem to use the 64 bit version of Node when running npm install during deployment. This stops me from successfully deploying.

Sadly while Git/CI npm install, a deprecated Node.js 6.x is called instead of your 64-bit node.exe.
The only way is to upload a ZIP file containing your compiled prod dependencies to a blob container. This can be achieved with WEBSITE_RUN_FROM_PACKAGE app setting together with "bundledDependencies" and "files" properties in your package.json.

@ahmelsayed - I'm guessing that choosing the bitness of node.exe will be much easier to support on the Linux offering. Is that right?

I have to say this is extremely frustrating. IMHO, FaaS offerings should do their best to abstract away the underlying infrastructure. This issue lays bare the underlying infrastructure that Azure Functions is built on. Frankly, the underlying OS shouldn't matter to a developer building on a FaaS platform.
I find it hard to understand how Azure Functions, a product that was first announced less than 3 years ago, would have an architecture that makes implementing support for a 64 bit platform so difficult. It's not like x64 support was yet to be implemented in Node for Windows. It has been supported since at least v4.0.0 released in September of 2015.
Why is changing the bitness of the .NET runtime a simple toggle switch in the UI, but changing which NodeJS executable is used a Herculean effort? Is it not possible to have a different VM image to use that has Node x64 installed?
And frankly, I would venture to guess that the vast majority of Windows-based developers are developing on machines that run Node x64, given that it is the default download on the NodeJS website:

So for Azure Functions to run the 32 bit version of Node is a real problem for Node developers who run windows and deploy to Azure functions.
I look forward to discussing this issue at the MVP Summit in a few weeks @eduardolaureano.

@AshleyGrant - I am sorry about the frustrating experience. I think you are primarily asking for all functions to run on a 64 bit host and a 64 bit node.exe by default. We have changed the default on the Linux offering to run on 64 bit node (Linux consumption apps are currently in preview). It's a bit trickier for the Windows offering. To provide some context, the changes we made to have JavaScript code run directly on a Node.js process instead of through the Edge.js .NET library were pretty recent. With this, we've uncovered some gaps in the underlying infrastructure such as a lack of deployed 64 bit node executables on worker machines. Azure Functions relies on spare compute from App Service, and this is an App Service limitation that we have run into. I've started talking to @paulbatum about finding the appropriate owner to update the App Service machines with 64 bit node versions. It's a more niche scenario so they haven't heard all too much noise about it, but it is a change that's long overdue. Although our goal is abstraction, as you've said, I do hope you understand that getting to that point can require changes that have a broad scope and impacts beyond the immediate situation. The toggle not applying to node.exe is absolutely a gap in expectation / experience, and we appreciate your patience as we fix that.

I'm not necessarily asking for all functions to run on a 64 bit host w/64 bit Node by default. I do think that 64 bit Node should be used when running on a 64 bit host, though.
Thank you for the explanation of the underlying constraints. Hopefully this can be resolved sooner rather than later. Let's please keep this issue open until then, though.

@AshleyGrant @ChrisSmith5 when using git deployment, you can install sharp by setting npm_config_arch = x64 to allow that old npm to install x64 dependencies, and then use the solution by @mhoeger to run x64 node env.

I've come up with a workaround that allows me to bring a custom Node executable along for the ride when I "build" my application using Azure Devops. I'm mostly using the strategy specified by @mhoeger, but distributing node.exe as part of my application zip file. Details here: https://aurelia.ninja/2019/04/04/a-strategy-for-deploying-a-custom-node-executable-to-azure-functions-on-windows/

@zavr-1 I've confirmed that your solution works, but I figure if I'm going far enough to include my own node executable in my demo code, I might as well use a CI/CD tool (Azure Devops in my case) to orchestrate the build. My solution also eliminates the need for manually copying node.exe. In a pinch, I would use your solution, though!

@mhoeger should this still be open? I seems the two work items you mentioned needed closing to fix this are done?

@nzthiago - It's almost out!!
In its final form, we'll let people target 64-bit node by choosing to run their site as 64-bit AND setting WEBSITE_NODE_DEFAULT_VERSION to a value that targets a major version with a tilda (ex: ~8 and ~10). This will default them into using the latest major version 64-bit node without extra configuration needed. The change is being deployed on our underlying infrastructure, but won't be available til the end of July or so. Keeping it open until it's fully supported. Thanks for the issue cleanup search btw :)

Great - fully agree with not closing until it's done ;) Thank you for the update

Update: rolling out this feature has been delayed. However, there is an easier temporary workaround. You can add the app setting languageWorkers:node:defaultExecutablePath with the value D:\Program Files\nodejs\10.15.2\node to target a 64-bit version of 10.15.2. This is a version that is already deployed on machines and does not require you to manually deploy node.exe.

@mhoeger -- I've set up a function all with the settings listed above. When I go the console and
node -p "process.arch"  I still see ia32.
node -v gives me v10.15.2 .
which node  gives  /d/Program Files (x86)/nodejs/10.15.2/node
I have my setting as you mentioned above, platform set to 64 bit. Any idea what I might be missing?

@krankin try setting WEBSITE_NODE_DEFAULT_VERSION to D:\Program Files\nodejs\10.15.2
I believe that worked for me.

@YannickRe -- 👍 That worked!

@krankin - try doing process.arch from inside a function app, this is a bit hacky so it won't propagate to the kudu/scm/console environment. @YannickRe - never thought about that's an interesting workaround too! Clever!

@mhoeger It's the only way I consistently get the 64-bit binaries across the platform (running the code, testing in the Kudu Console, when doing Kudu CI with deployment center, etc).
Got the idea/solution from this thread (which could also use a follow up): https://github.com/projectkudu/kudu/issues/1914
Only difference is with the languageWorkers:node:defaultExecutablePath setting: in this issue you propose D:\Program Files\nodejs\10.15.2\node and in the other issue you suggested D:\Program Files\nodejs\10.15.2.
Should both work? Or just one, and which one is correct then?
Looking forward to having it easier in the future ;)

I get 64-bit in the function app and 32-bit in Kudu with the below:
languageWorkers:node:defaultExecutablePath = D:\Program Files\nodejs\10.15.2\node
WEBSITE_NODE_DEFAULT_VERSION = ~10

Setting WEBSITE_NODE_DEFAULT_VERSION to D:\Program Files\nodejs\10.15.2 instead give me 64 bit both places.
So, I do not need 64 bit default in Kudu, but it did confuse me for a long time, since I used Kudu to try to verify the architecture. But for all purposes the workaround from @mhoeger works for the function app.
Thanks!

Hi @mhoeger, thank you for the workaround! This appears to be exactly what I needed. Can we expect D:\Program Files\nodejs\10.15.2\node to continue to contain the 64bit version of node 10.15.2 going forward, or might that be changed unexpectedly (causing an outage for my application)?

@emily-curry - yes, you can expect that to keep working going forward! It will be good to switch over to  ~10 when that is available, but even then we don't have any plans of removing 10.15.2 any time soon.

Only difference is with the languageWorkers:node:defaultExecutablePath setting: in this issue you propose D:\Program Files\nodejs\10.15.2\node and in the other issue you suggested D:\Program Files\nodejs\10.15.2.
Should both work? Or just one, and which one is correct then?
Looking forward to having it easier in the future ;)

@YannickRe one of my devs was struggling with this today.  It appears that
WEBSITE_NODE_DEFAULT_VERSION should be D:\Program Files\nodejs\10.15.2 (absolute path to the node folder) and languageWorkers:node:defaultExecutablePath should be the absolute path to the actual node executable.

Two updates to close this issue:

For Function Apps deployed on Linux, a 64 bit Node.js executable is default.
For Function Apps deployed on Windows, you can change a few settings to get a 64 bit executable.

First, go to "Configuration" in the Azure Portal

Then, either change or ensure that your WEBSITE_NODE_DEFAULT_VERSION is set to ~10. Note: we support major version targeting like this for even-numbered 10+ versions that are LTS

Then, go to "General settings" and change the platform bitness.

A few additional considerations if you are choosing between Windows vs. Linux:

We have perf improvements coming up, but for default scenarios. A 64 bit platform on Windows is not the default and won't benefit from those improvements.
Linux function apps for Node.js currently have better performance, but some limitations such as no portal editing and probably most notably, no CORS support

This is very nice.
Is there a way to set these platform settings via CLI when creating a function as well or doe we have to use the web UI for that?


Fix test failures

After these fixes, running Invoke-Pester in the Engine and Rules folder should pass all the tests

Thanks Quoc. Changes look good.

Thanks!


Configurable tag names

Description
Currently when a commit is tagged, the tag name and message are both fixed to the version number.
https://github.com/relekang/python-semantic-release/blob/1dd84847a9eaf8d2467ae5b4ee82492ef563612f/semantic_release/vcs_helpers.py#L198-L204
It would be nice if the user were able to configure a template for the tag name or message.
Use cases
One major use case would be when python-semantic-release is being used in a staging environment. The tags could take the form vX.Y.X-staging. Note that this would not be a prerelease specification. python-semantic-release only supports versioning at the major, minor, and patch levels so this would template would live outside the scope of semantic versioning. It would exist solely as git tags.
Possible implementation
https://github.com/relekang/python-semantic-release/blob/18e1d70138125f93664f3c9b3c1e08c57f392977/semantic_release/cli.py#L173-L187
The calling function already has access to the config variables, so it would be straightforward to add a tag_template configuration variable.

This would be nice feature indeed. Currently I have the same usecase.
I could imagine having a --prefix and --suffix cli (and config) option when bumping.
Maybe a --project option as well, to make semantic-release easier usable with monorepos (see https://github.com/relekang/python-semantic-release/issues/168) 😉
Would this be an interesting feature? I could try to implement this...

I believe this issue was resolved a while back as we currently have a tag format configuration setting which defines custom tags. I was not around when it was implemented so if I am incorrect in this conclusion, please let me know.


Fix RBC issues.

Addresses #695 #696  #679.
@VitamintK Thanks for raising these issues. Can you please help with reviewing the code, if you find any other rule inconsistencies?

Update tensor capture/illegal move.
String observations now reflect tensor observations
Implement a forgotten rule that a pawn two-forward move can result in one-forward rule, if the one-forward would be otherwise legal.
Add a number of tests.
Add comments on what are the minor differences to the original rules.

thanks for doing this, by the way (and sorry I didn't contribute to the changes!)

No worries, thanks for pointing out the problems you found!


Page offset buffers not repooled

Related to memory profiling done in #370 , it looks like page offset buffers are attempted to be pooled, but it is not working as expected.  Suspect this logic which swaps the slices.
Testing methodology
Added some simple instrumentation to bufferPool to track outstanding allocs via sum(gets) - sum(puts). Added a print statement here to print the before and after capacities when the offset buffer is swapped.
** Results **
The pageOffsetsBufferPool allocs much more than expected, several GB.  The other pools have reasonable allocs (1K to ~30MB).
When obuf.data is swapped to a slice of different size, the new slice is 0-length.  Unsure if this is specific to our schema or relevant, but wanted to mention.
prevCap := cap(obuf.data)
obuf.data = unsafecast.Uint32ToBytes(pageOffsets)
nowCap := cap(obuf.data)
if prevCap != nowCap {
    fmt.Println("offset buffer swapped", prevCap, nowCap)
}

prints:
offset buffer swapped 4194304 0
offset buffer swapped 2097152 0
offset buffer swapped 2097152 0
offset buffer swapped 2097152 0

** Solution**
Tried this simple fix, but it doesn't quite work. Our tests surface some data inconsistencies afterwards.
if obuf != nil {
    obuf = &buffer{
          pool: obuf.pool,
          data: unsafecast.Uint32ToBytes(pageOffsets),
    }
}

Hacking a little more does work, but I'm not familiar enough with this area to put a proper solution.  This change does result in 50+% fewer allocs.
if obuf != nil {
    if cap(obuf.data) != cap(pageOffsets)*4 {
          obuf = &buffer{pool: obuf.pool}
    }
    obuf.data = unsafecast.Uint32ToBytes(pageOffsets)
}

Hello @mdisibio
I believe this issue might be isolated to Go 1.17 and the use of unsafe.Slice in unsafecast.BytesToUint32 which loses the capacity information.
A different fix could be this:
diff --git a/column.go b/column.go
index d511623..520ee77 100644
--- a/column.go
+++ b/column.go
@@ -636,7 +636,7 @@ func (c *Column) decodeDataPage(header DataPageHeader, numValues int, repetition
        if pageKind == ByteArray {
                obuf = buffers.get(4 * (numValues + 1))
                defer obuf.unref()
-               pageOffsets = unsafecast.BytesToUint32(obuf.data)
+               pageOffsets = unsafecast.BytesToUint32(obuf.data[:cap(obuf.data)])
        }

        values := pageType.NewValues(pageValues, pageOffsets)
@@ -647,7 +647,8 @@ func (c *Column) decodeDataPage(header DataPageHeader, numValues int, repetition
                vbuf.data = pageValues
        }
        if obuf != nil {
-               obuf.data = unsafecast.Uint32ToBytes(pageOffsets)
+               obuf.data = unsafecast.Uint32ToBytes(pageOffsets[:cap(pageOffsets)])
+               obuf.data = obuf.data[:4*len(pageOffsets)]
        }
        if err != nil {
                return nil, err

I would recommend upgrading to 1.18+ tho, the unsafecast package is written with generics then and does not suffer from the same issues.
And when Go 1.20 gets released we will need to have more serious discussions about dropping support for 1.17.

Hi @achille-roussel afaik Tempo has been updated to 1.19, and I am running 1.19.1 locally.  Tested the proposed lines above and didn't see an improvement.   Happy to provide more info or try things out.

Thanks for confirming, sorry for making the wrong assumption here.
I'll dig further to understand why the capacity information gets lost.
Super happy to hear that you were able to do the upgrade to 1.19 as well!

I would be curious to know if using the Release/Retain functions introduced in #380 will modify the behavior you observed here!

Hi @achille-roussel as discussed offline, the new Release/Retain functionality did not change the observed behavior.  Spent some more effort in this area and was able to create a more formal code change.  I think this also shows more clearly what I think is happening (page buffer being swapped and original lost), but I don't know the why.
	if obuf != nil {
		if unsafecast.PointerOf(obuf.data) != unsafecast.PointerOf(pageOffsets) {
			// Pageoffset buffer is being swapped.
			// Recreate obuf which allows the orignal to be unrefed and returned to the pool.
			obuf = &buffer{pool: obuf.pool, data: unsafecast.Uint32ToBytes(pageOffsets)}
		}
	}

This change yields significant memory alloc improvements on top of the benchmarks in Tempo #1818
name                                      old alloc/op   new alloc/op   delta
BackendBlockSearchTraces/noMatch-12          333MB ±11%      50MB ±17%  -84.97%  (p=0.000 n=10+10)
BackendBlockSearchTraces/partialMatch-12     605MB ± 2%     311MB ± 5%  -48.49%  (p=0.000 n=9+9)
BackendBlockSearchTraces/service.name-12    3.67MB ± 2%    1.51MB ± 3%  -58.73%  (p=0.000 n=10+10)

As discussed offline, the real root cause is that page offset buffers were being unnecessarily allocated for dictionary-encoded byteArray columns.  Submitted #398.
Want to mention that #386 still yielded a minor improvement in cpu and may be worth merging (although was neutral on memory usage).  Here is a benchmark comparison:
name                                      old time/op    new time/op    delta
BackendBlockSearchTraces/noMatch-12          204ms ± 6%     198ms ±31%    ~     (p=0.400 n=9+10)
BackendBlockSearchTraces/partialMatch-12     2.57s ± 2%     2.51s ± 2%  -2.38%  (p=0.002 n=9+8)
BackendBlockSearchTraces/service.name-12    1.57ms ±12%    1.46ms ±12%  -6.94%  (p=0.028 n=9+10)

name                                      old alloc/op   new alloc/op   delta
BackendBlockSearchTraces/noMatch-12          342MB ± 4%     332MB ± 4%  -2.96%  (p=0.011 n=9+8)
BackendBlockSearchTraces/partialMatch-12     601MB ± 1%     607MB ± 2%  +1.11%  (p=0.031 n=9+9)
BackendBlockSearchTraces/service.name-12    3.67MB ± 1%    3.69MB ± 2%    ~     (p=0.460 n=8+10)

name                                      old allocs/op  new allocs/op  delta
BackendBlockSearchTraces/noMatch-12           119k ± 1%      117k ± 4%  -1.73%  (p=0.021 n=8+8)
BackendBlockSearchTraces/partialMatch-12     18.0M ± 0%     18.0M ± 0%    ~     (p=0.438 n=8+9)
BackendBlockSearchTraces/service.name-12     39.2k ± 0%     39.2k ± 0%    ~     (p=0.403 n=10+10)


Scrollable content updation

The content is needed to scroll to use, which is not user friendly. I can make the whole content in a single page which does not need scrolling, hence enhancing user-friendliness and easy to use.

Assign this issue to me under GSSoC.
My code is ready, I'm just waiting for this issue to be assigned to me.

@dishathakurata
This issue has already been resolved. If you have any additional issues, feel free to reach out. To keep our issue tracker organized, I will be closing this issue.


[#219] Specify VPC module key output format in docs

Luca, the in/out tables are generated via tools/tfdoc.py, you cannot edit them by hand. I would just put this in the descriptive part of the README.

/gcbrun


[21.05] linux_5_13: init at 5.13

Motivation for this change
partial backport of: #125082
backport of: #128502
(cherry picked from commit 367a53a82b0a3ffe6c1ea4261c22764129994669)
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

https://github.com/NixOS/nixpkgs/pull/128533

11 packages marked as broken and skipped:
linuxPackages_5_13.anbox linuxPackages_5_13.ixgbevf linuxPackages_5_13.lttng-modules linuxPackages_5_13.ndiswrapper linuxPackages_5_13.phc-intel linuxPackages_5_13.r8125 linuxPackages_5_13.rtl8723bs linuxPackages_5_13.sch_cake linuxPackages_5_13.tbs linuxPackages_5_13.zfs linuxPackages_5_13.zfsUnstable

13 packages failed to build:
linuxPackages_5_13.amdgpu-pro linuxPackages_5_13.evdi linuxPackages_5_13.mxu11x0 linuxPackages_5_13.nvidia_x11 linuxPackages_5_13.nvidia_x11_beta linuxPackages_5_13.nvidia_x11_legacy340 linuxPackages_5_13.nvidia_x11_legacy390 linuxPackages_5_13.nvidia_x11_vulkan_beta linuxPackages_5_13.openafs linuxPackages_5_13.openafs_1_9 linuxPackages_5_13.perf linuxPackages_5_13.tuxedo-keyboard linuxPackages_5_13.virtualboxGuestAdditions

61 packages built:
linuxPackages_5_13.acpi_call linuxPackages_5_13.akvcam linuxPackages_5_13.asus-wmi-sensors linuxPackages_5_13.batman_adv linuxPackages_5_13.bbswitch linuxPackages_5_13.bcc linuxPackages_5_13.bpftrace linuxPackages_5_13.broadcom_sta linuxPackages_5_13.can-isotp linuxPackages_5_13.chipsec linuxPackages_5_13.cpupower linuxPackages_5_13.cryptodev linuxPackages_5_13.ddcci-driver linuxPackages_5_13.digimend linuxPackages_5_13.dpdk linuxPackages_5_13.ena linuxPackages_5_13.facetimehd linuxPackages_5_13.fwts-efi-runtime linuxPackages_5_13.gcadapter-oc-kmod linuxPackages_5_13.hid-nintendo linuxPackages_5_13.hyperv-daemons linuxPackages_5_13.intel-speed-select linuxPackages_5_13.isgx linuxPackages_5_13.it87 linuxPackages_5_13.jool linuxPackages_5_13.kernel linuxPackages_5_13.mba6x_bl linuxPackages_5_13.mbp2018-bridge-drv linuxPackages_5_13.mwprocapture linuxPackages_5_13.netatop linuxPackages_5_13.nvidiabl linuxPackages_5_13.oci-seccomp-bpf-hook linuxPackages_5_13.openrazer linuxPackages_5_13.ply linuxPackages_5_13.r8168 linuxPackages_5_13.rtl8192eu linuxPackages_5_13.rtl8812au linuxPackages_5_13.rtl8814au linuxPackages_5_13.rtl8821au linuxPackages_5_13.rtl8821ce linuxPackages_5_13.rtl8821cu linuxPackages_5_13.rtl88x2bu linuxPackages_5_13.rtl88xxau-aircrack linuxPackages_5_13.rtlwifi_new linuxPackages_5_13.sysdig linuxPackages_5_13.system76 linuxPackages_5_13.system76-acpi linuxPackages_5_13.system76-io linuxPackages_5_13.systemtap linuxPackages_5_13.tmon linuxPackages_5_13.tp_smapi linuxPackages_5_13.turbostat linuxPackages_5_13.usbip linuxPackages_5_13.v4l2loopback linuxPackages_5_13.v86d linuxPackages_5_13.vendor-reset linuxPackages_5_13.vhba linuxPackages_5_13.virtualbox linuxPackages_5_13.x86_energy_perf_policy linuxPackages_5_13.xpadneo linuxPackages_5_13.zenpower

Result of nixpkgs-review pr 128533 at 2b460dcd run on aarch64-linux 1

13 packages failed to build:

linuxPackages_5_13.anbox
linuxPackages_5_13.evdi
linuxPackages_5_13.lttng-modules
linuxPackages_5_13.mwprocapture
linuxPackages_5_13.mxu11x0
linuxPackages_5_13.openafs (linuxPackages_5_13.openafs_1_8)
linuxPackages_5_13.openafs_1_9
linuxPackages_5_13.perf
linuxPackages_5_13.rtl8192eu
linuxPackages_5_13.rtl8723bs
linuxPackages_5_13.rtl8821ce
linuxPackages_5_13.sch_cake
linuxPackages_5_13.tuxedo-keyboard

2 packages skipped due to time constraints:

linuxPackages_5_13.dpdk
linuxPackages_5_13.zfsUnstable

36 packages built successfully:

linuxPackages_5_13.acpi_call
linuxPackages_5_13.akvcam
linuxPackages_5_13.batman_adv
linuxPackages_5_13.bcc
linuxPackages_5_13.can-isotp
linuxPackages_5_13.cpupower
linuxPackages_5_13.cryptodev
linuxPackages_5_13.ddcci-driver
linuxPackages_5_13.digimend
linuxPackages_5_13.ena
linuxPackages_5_13.fwts-efi-runtime
linuxPackages_5_13.gcadapter-oc-kmod
linuxPackages_5_13.hid-nintendo
linuxPackages_5_13.hyperv-daemons
linuxPackages_5_13.jool
linux_5_13 (linuxPackages_5_13.kernel)
linuxPackages_5_13.mba6x_bl
linuxPackages_5_13.mbp2018-bridge-drv
linuxPackages_5_13.netatop
linuxPackages_5_13.oci-seccomp-bpf-hook
linuxPackages_5_13.odp-dpdk
linuxPackages_5_13.openrazer
linuxPackages_5_13.r8125
linuxPackages_5_13.r8168
linuxPackages_5_13.rtl8812au
linuxPackages_5_13.rtl8821cu
linuxPackages_5_13.rtl88x2bu
linuxPackages_5_13.rtw88 (linuxPackages_5_13.rtlwifi_new)
linuxPackages_5_13.stdenv
linuxPackages_5_13.systemtap
linuxPackages_5_13.tmon
linuxPackages_5_13.usbip
linuxPackages_5_13.v4l2loopback
linuxPackages_5_13.vhba
linuxPackages_5_13.xpadneo
linuxPackages_5_13.zfs (linuxPackages_5_13.zfsStable)

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

Could you also cherry-pick https://github.com/NixOS/nixpkgs/pull/128785 (0c21d0fd7035d65e48d561a64d1ad1454c640aff) onto this? :)

Do we need to mark anything as broken or is this good to merge?

Do we need to mark anything as broken or is this good to merge?

I'm moving for the next few days, if we do, then I won't get around to it until next week.
I could see people getting angry that they were "broken" by bumping the latest. Maybe we should drop the _latest bump

I have removed the _latest, bump. Stable users using _latest should probably expect it to not break their dependent modules when upgrade kernel version

https://github.com/NixOS/nixpkgs/pull/128533

12 packages marked as broken and skipped:
linuxPackages_5_13.anbox linuxPackages_5_13.ixgbevf linuxPackages_5_13.lttng-modules linuxPackages_5_13.ndiswrapper linuxPackages_5_13.phc-intel linuxPackages_5_13.r8125 linuxPackages_5_13.rtl8723bs linuxPackages_5_13.sch_cake linuxPackages_5_13.tbs linuxPackages_5_13.zfs linuxPackages_5_13.zfsStable linuxPackages_5_13.zfsUnstable

13 packages failed to build:
linuxPackages_5_13.amdgpu-pro linuxPackages_5_13.evdi linuxPackages_5_13.mxu11x0 linuxPackages_5_13.nvidia_x11 linuxPackages_5_13.nvidia_x11_beta linuxPackages_5_13.nvidia_x11_legacy340 linuxPackages_5_13.nvidia_x11_legacy390 linuxPackages_5_13.nvidia_x11_vulkan_beta linuxPackages_5_13.openafs linuxPackages_5_13.openafs_1_9 linuxPackages_5_13.perf linuxPackages_5_13.tuxedo-keyboard linuxPackages_5_13.virtualboxGuestAdditions

64 packages built:
linuxPackages_5_13.acpi_call linuxPackages_5_13.akvcam linuxPackages_5_13.asus-wmi-sensors linuxPackages_5_13.batman_adv linuxPackages_5_13.bbswitch linuxPackages_5_13.bcc linuxPackages_5_13.bpftrace linuxPackages_5_13.broadcom_sta linuxPackages_5_13.can-isotp linuxPackages_5_13.chipsec linuxPackages_5_13.cpupower linuxPackages_5_13.cryptodev linuxPackages_5_13.ddcci-driver linuxPackages_5_13.digimend linuxPackages_5_13.dpdk linuxPackages_5_13.ena linuxPackages_5_13.facetimehd linuxPackages_5_13.fwts-efi-runtime linuxPackages_5_13.gcadapter-oc-kmod linuxPackages_5_13.hid-nintendo linuxPackages_5_13.hyperv-daemons linuxPackages_5_13.intel-speed-select linuxPackages_5_13.isgx linuxPackages_5_13.it87 linuxPackages_5_13.jool linux_5_13 linuxPackages_5_13.mba6x_bl linuxPackages_5_13.mbp2018-bridge-drv linuxPackages_5_13.mwprocapture linuxPackages_5_13.netatop linuxPackages_5_13.nvidiabl linuxPackages_5_13.oci-seccomp-bpf-hook linuxPackages_5_13.odp-dpdk linuxPackages_5_13.openrazer linuxPackages_5_13.pktgen linuxPackages_5_13.ply linuxPackages_5_13.r8168 linuxPackages_5_13.rtl8192eu linuxPackages_5_13.rtl8812au linuxPackages_5_13.rtl8814au linuxPackages_5_13.rtl8821au linuxPackages_5_13.rtl8821ce linuxPackages_5_13.rtl8821cu linuxPackages_5_13.rtl88x2bu linuxPackages_5_13.rtl88xxau-aircrack linuxPackages_5_13.rtw88 linuxPackages_5_13.stdenv linuxPackages_5_13.sysdig linuxPackages_5_13.system76 linuxPackages_5_13.system76-acpi linuxPackages_5_13.system76-io linuxPackages_5_13.systemtap linuxPackages_5_13.tmon linuxPackages_5_13.tp_smapi linuxPackages_5_13.turbostat linuxPackages_5_13.usbip linuxPackages_5_13.v4l2loopback linuxPackages_5_13.v86d linuxPackages_5_13.vendor-reset linuxPackages_5_13.vhba li

Appears to be the same as unstable


Can Azure DevOps extension widgets be supported?

Suggested new feature or improvement
support Azure DevOps extension widgets
Scenario
for example, WorkItems, Artifacts, etc
Additional details
No response

Duplicate of #521


[improve][ci] Update GitHub Workflows to Ubuntu 22.04

Main Issue: #20727
Motivation
Make sure the CI tests are run on the same version of Ubuntu as the docker deployment.
Modifications
In .github/workflows change the runs on to ubuntu 22.04
Verifying this change

[ ] Make sure that the change passes the CI checks.

This change is already covered by existing tests, such as this changes github workflows

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: [https://github.com/dave2wave/pulsar]

I'm running some of the workflows in my fork.

CI succeeds other than unrelated OWASP issues. https://github.com/dave2wave/pulsar/actions/runs/5476867438

/pulsarbot rerun-failure-checks


openables: update mystery box with new data

missed this in my previous run through of updating drop tables

Codecov Report

Merging #130 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   77.77%   77.77%
=======================================
  Files         156      156
  Lines        1854     1854
  Branches      141      141
=======================================
  Hits         1442     1442
  Misses        396      396
  Partials       16       16

Impacted Files
Coverage Δ

src/simulation/openables/MysteryBox.ts
100.00% <ø> (ø)

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 b7ecc19...c686b27. Read the comment docs.


AppTPCompanyDetailsAdapter, index out of bounds exceptions

Task/Issue URL: https://app.asana.com/0/0/1205530419817941/f
Description
Fixed crash in AppTPCompanyDetailsAdapter.
Steps to test this PR

[ ] Install from this branch.
[ ] Enable AppTP and wait to have some trackers blocked.
[ ] Tap on one of the trackers to see the company details.
[ ] Toggle OFF/ON to disable/enable protections from the button positioned on the top right. The app should not crash.

NO UI changes

Current dependencies on/for this PR:

develop

PR #3558

PR #3560   👈

This comment was auto-generated by Graphite.

@anikiki is this ready to review?

Closing this as there is another approach in https://github.com/duckduckgo/Android/pull/3747


React-helmet MetaTags disapper on page change

I am creating app for sharing dynamic data on FB, I made an simple app to draw someting on canvas and user can share that to FB.... It still under progress but facing weird issue after draw something I set metaTags and change my page to share post my metaTags got disappear I dn't know why.  Here my code
https://github.com/amit0shakya/reactfbshare,
metatag code is on PROJECT component
one More issue I face when I tried to redirect my react page to share page then react-helmet won't set metaTags, even I tries setInterval for 15 seconds, I think maybe It set metaTags and will be vanish after pagechange but it does nothing when try to Navigate page...

Finally my issue is fixed but not by react-helmet, I use react react-meta-tags npm instead of react-helmet, what I feel the issue is when we set metaTags in any page then whole application dosen't aware about that after switching page it disapper, but react-meta-tags makes wrapper on serverside so it keeps dosen't show issue like this

you can close this but I found react-helmet have this issue.


Add 'grpc' RPC and networking library

Website: http://www.grpc.io/
Github: https://github.com/grpc/grpc
Notes: CMake build, depends on Protocol Buffers.
Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39194794-add-grpc-rpc-and-networking-library?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1032790&utm_medium=issues&utm_source=github).

Working on it. Adding https://github.com/ruslo/hunter/pull/1087 to get c-ares dependency.


Thresholds for number of arguments per function

@mvankessel-EMC As with lines of code and cyclomatic complexity, it would be nice to set some (arbitrary) thresholds for complexity associated with number of arguments per function. What about:
low complexity: less than 5
medium complexity: 5 to 9
high complexity: 10 or more

https://github.com/darwin-eu-dev/DependencyReviewer/issues/15

Done.


deployment script: build, deploy, stack name, region, changeset

"deploy": "sam build && sam deploy --stack-name im-sam --region us-east-1 --confirm-changeset"

Feel free to merge the other PR.
Feel free to merge this one too, but we still need a scrip that deploys the web app into the bucket. Lmk if this doesn't make sense.


not opening

gradle is stuck at this point and i dont know what to do

Hey, I'm so sorry about that! I haven't been keeping up with this project and right now I don't think that the code on either branch will run correctly. I will get that fixed asap. Sorry for any distress that might have caused!

Should be resolved now!


Minor typo

Signed-off-by: Hu Keping<EMAIL_ADDRESS>

LGTM waiting janky

LGTM
might be good to slip minor changes like this into other PRs - just not sure an extra space in a comment is worthy of its own PR  :-)

This was catched when I review the code about OOM notify mechanism and find nothing else to fix :) , I am agree with you that this typo should be left to other PRs.


"Nămoloasa", "Crângeni" and "Nămoloasa-Sat" are listed in the drop-down menu

Description:
"Nămoloasa", "Crângeni" and "Nămoloasa-Sat" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Nămoloasa" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Nămoloasa, GALAȚI (Nămoloasa)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Crângeni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Crângeni, GALAȚI (Nămoloasa)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Nămoloasa-Sat" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Nămoloasa-Sat, GALAȚI (Nămoloasa)".


feat: Feature/azure service principal

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[ ] Tests for the changes have been added/updated (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[ ] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)

[ ] Product design
[x] Backend (Database)
[x] Backend (API)
[ ] Frontend

Describe the reason for change
For the moment, there is only an authentication through account key to Azure.
The problem is that account key give a lot of rights on the storage that may not be necessary in order to perform readonly operations.

What does this fix?
Now it is possible to have an azure integration that is based on a service principal.
What is the new behavior?
We have to create an app registration in Azure :

We give this registration specific rights depending on what we want to do in labelstudio :

In the UI, we create a new storage integration :

Under the hood :

What is the current behavior?
There is no impact on the previous behavior, it's just a new one.
What libraries were added/updated?
Azure Identity
Does this change affect performance?
Get a delegation key is quite slow, that's why there is :

24h cache for delegation key
15mn cache for sas token

There is a second minor change :

When a "thumbnail" tag is present in the datarow, it will be used in the grid view
When there is multiple layer in the image, the gridview will only render the first channel.
(Today there is a buggy behavior).

Does this change affect security?
It should improve the security for people who just need specific rights on the container.
For the moment, the "write" behavior have not been tested / developped on the container.
What alternative approaches were there?
We can use an enterprise application and SSO in order to be linked to a user right and act on behalf of him.
What feature flags were used to cover this change?
None
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[ ] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?

[ ] e2e
[ ] integration
[ ] unit

Which logical domain(s) does this change affect?

Authentication
UI

I fixed the write access this morning.
You can now create an export integration :

Without the right right in Azure, you can't use

It's normal, because we only have this right for read access :

But if you add :

It will work and save the annotation :

Could you also add pytest for this storage? There should be examples in tests/ folder for aws/gcs storages.

Can you help me on this part ?
I'am not sure to understand how i'm suppose to create tests.
The test i did were done on my organisation private azure storage. I'm not able to replicate this in a public env.

Sorry for the long delay, tests are located here:
https://github.com/HumanSignal/label-studio/blob/develop/label_studio/tests/io_storages.tavern.yml#L1168

Sorry for the long delay, tests are located here: https://github.com/HumanSignal/label-studio/blob/develop/label_studio/tests/io_storages.tavern.yml#L1168

Thanks,
I updated the get_import_export_storage_types test case to match the new syntax.
I saw that other things for gcp and s3, but in my case i have a strong validation that the connection is valid and can be consume, then i can't use dummy client_id/client_secret/tenant_id.

/jira create

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.

This PR was closed because it has been stalled for 10 days with no activity.


Switching Users Does Not Work Properly

Issue
Logging in with User 1 I have a few chats.  Log in as User 2 I still see the previous login chats.  If I refresh the page, then it loads the User 2 chat history.  Log out and log in as User 1, I see User 2 chat history, once I refresh it updates.
This issue seems to be related to a cookie.  If I clear the browser history/cookies it wipes the information.
Potential Solution
I am not a front-end dev, but I speculate it has to do with the session and state between users.
Is there a check that can verify profile name of logged in user?
It would be great to have multiple users logging into the application.
Thank you!

Ah - this is an issue with global state not getting reset upon logout.
This will only occur when signing in on the same browser session.
I'll fix this!

@davidamacey This should be fixed now, but just checking in if you found a condition we didn't cover.

Sounds great, thank you!
Not at the moment, thanks for providing such quick updates!

Awesome. If it pops back up just let me know and I'll investigate further!


Unable to sign in with Github and then use VSCode

LiveShareLogs.zip

Product and Version [VS/VSCode]:
OS Version [macOS/Windows]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

Click Join collaboration session
Sign in with Github

@NickRashad Thanks for reporting this! We'll investigate the logs.

[2019-03-21 02:50:27.560 Client.Rpc.Auth E] > auth.findLoginCode() error: Error: Request was cancelled
at new ResponseError (/Users/Nick/.vscode/extensions/ms-vsliveshare.vsliveshare-0.3.1326/node_modules/vscode-jsonrpc/lib/messages.js:46:1)
at handleResponse (/Users/Nick/.vscode/extensions/ms-vsliveshare.vsliveshare-0.3.1326/node_modules/vscode-jsonrpc/lib/main.js:430:1)
at processMessageQueue (/Users/Nick/.vscode/extensions/ms-vsliveshare.vsliveshare-0.3.1326/node_modules/vscode-jsonrpc/lib/main.js:258:1)
at Immediate. (/Users/Nick/.vscode/extensions/ms-vsliveshare.vsliveshare-0.3.1326/node_modules/vscode-jsonrpc/lib/main.js:242:1)
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)

Looks like the sign in didn't complete. @legomushroom Is this in your area?

This issue should now be resolved. Please re-open it if you're still experiencing this problem. Thanks!


how to pretrained TSN-model?

hi @zhaoyue-zephyrus
I find training loss  dropped very quickly on TSN-rgb-model when I use the pre-trainind weights to initializate. while I train the model from scratch,the training loss dropped very slow . That's amazing! So I really want to know how you pre-train the model(such as tsn-rgb-bninception,tsn-flow-bninception,i3d,...).I hope you can tell me!
thanks you!

and when i use the pre-trainin model ,there are many unmatch keys:
missing keys in source state_dict: inception_5b_3x3_reduce_bn.num_batches_tracked, inception_4c_1x1_bn.num_batches_tracked, inception_5b_3x3_bn.num_batches_tracked, inception_3c_double_3x3_1_bn.num_batches_tracked, inception_4a_3x3_bn.num_batches_tracked, inception_3b_1x1_bn.num_batches_tracked, inception_3a_pool_proj_bn.num_batches_tracked, inception_3a_1x1_bn.num_batches_tracked, inception_5a_1x1_bn.num_batches_tracked, inception_4d_double_3x3_reduce_bn.num_batches_tracked, inception_3c_double_3x3_2_bn.num_batches_tracked, conv1_7x7_s2_bn.num_batches_tracked, inception_5a_3x3_reduce_bn.num_batches_tracked, inception_4c_3x3_reduce_bn.num_batches_tracked, inception_4b_double_3x3_reduce_bn.num_batches_tracked, conv2_3x3_reduce_bn.num_batches_tracked, inception_3a_double_3x3_2_bn.num_batches_tracked, inception_4c_double_3x3_1_bn.num_batches_tracked, inception_4b_double_3x3_1_bn.num_batches_tracked, inception_3b_double_3x3_1_bn.num_batches_tracked, inception_4b_1x1_bn.num_batches_tracked, inception_5b_double_3x3_2_bn.num_batches_tracked, inception_3c_3x3_bn.num_batches_tracked, inception_4d_double_3x3_1_bn.num_batches_tracked, inception_4c_pool_proj_bn.num_batches_tracked, inception_4e_double_3x3_2_bn.num_batches_tracked, inception_4e_3x3_bn.num_batches_tracked, inception_5b_double_3x3_1_bn.num_batches_tracked, inception_3b_double_3x3_2_bn.num_batches_tracked, inception_5a_pool_proj_bn.num_batches_tracked, inception_5a_3x3_bn.num_batches_tracked, inception_3a_3x3_bn.num_batches_tracked, inception_3b_3x3_reduce_bn.num_batches_tracked, inception_3b_double_3x3_reduce_bn.num_batches_tracked, inception_4a_3x3_reduce_bn.num_batches_tracked, inception_5b_double_3x3_reduce_bn.num_batches_tracked, inception_4d_pool_proj_bn.num_batches_tracked, inception_5b_pool_proj_bn.num_batches_tracked, inception_3c_3x3_reduce_bn.num_batches_tracked, inception_4c_double_3x3_2_bn.num_batches_tracked, inception_5b_1x1_bn.num_batches_tracked, inception_4d_3x3_bn.num_batches_tracked, inception_4a_double_3x3_1_bn.num_batches_tracked, inception_3b_pool_proj_bn.num_batches_tracked, inception_4e_3x3_reduce_bn.num_batches_tracked, inception_3a_double_3x3_1_bn.num_batches_tracked, inception_4a_1x1_bn.num_batches_tracked, inception_3a_double_3x3_reduce_bn.num_batches_tracked, inception_3c_double_3x3_reduce_bn.num_batches_tracked, inception_3b_3x3_bn.num_batches_tracked, conv2_3x3_bn.num_batches_tracked, inception_4e_double_3x3_1_bn.num_batches_tracked, inception_4c_3x3_bn.num_batches_tracked, inception_5a_double_3x3_reduce_bn.num_batches_tracked, inception_4c_double_3x3_reduce_bn.num_batches_tracked, inception_4d_double_3x3_2_bn.num_batches_tracked, inception_4a_double_3x3_2_bn.num_batches_tracked, inception_5a_double_3x3_1_bn.num_batches_tracked, inception_4b_3x3_reduce_bn.num_batches_tracked, inception_4d_3x3_reduce_bn.num_batches_tracked, inception_4b_3x3_bn.num_batches_tracked, inception_4e_double_3x3_reduce_bn.num_batches_tracked, inception_3a_3x3_reduce_bn.num_batches_tracked, inception_4b_double_3x3_2_bn.num_batches_tracked, inception_4a_double_3x3_reduce_bn.num_batches_tracked, inception_4b_pool_proj_bn.num_batches_tracked, inception_4d_1x1_bn.num_batches_tracked, inception_5a_double_3x3_2_bn.num_batches_tracked, inception_4a_pool_proj_bn.num_batches_tracked

@longweiwei Sorry about the late reply.

The pre-trained (2D) rgb model is simply a CNN trained on the ImageNet. The trick of inflation to adapt the original 2D rgb model to the flow model and to I3D can be found in the paper of TSN and I3D respectively.

You can simply ignore the warning since these params have no effect.

Got  it! thanks you@zhaoyue-zephyrus

@longweiwei @zhaoyue-zephyrus which exact checkpoint did you use to extract the RGB BN-inception features for EK-100? I am unable to find the bn_inception model from here: https://github.com/open-mmlab/mmaction2/tree/0.x/configs/recognition/tsn


Add store setup to services README

Add section on Store

@bhavani105 If I am not mistaken, work for this issue is completed and released as part of v0.9.9?


Update docs/example.rst

Fixed the id name called from the javascript function from "conent" to "content"

fixed in 3e3fadb


Improve performance of mysql generator

This change improves performance for generating mysql models for databases with large number of tables by eliminating an N+1 query. In my local testing for a database with about 1000 tables and 140k columns, generation time was reduced from about 1h to less than one second.
This is on MySQL 5.7 (I know....), I think those original queries were faster on MySQL 8. The change is sensible in any case.

Codecov Report
Attention: 10 lines in your changes are missing coverage. Please review.

Comparison is base (23cb5dc) 90.58% compared to head (a3ce5eb) 90.48%.

Files
Patch %
Lines

generator/mysql/query_set.go
73.68%
7 Missing and 3 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #309      +/-   ##
==========================================
- Coverage   90.58%   90.48%   -0.10%
==========================================
  Files         124      124
  Lines        7108     7129      +21
==========================================
+ Hits         6439     6451      +12
- Misses        517      523       +6
- Partials      152      155       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Hi @jupp0r,
Whats your setup? Are you running MySQL 5.7 on a docker? Mac silicon?

generation time was reduced from about 1h to less than one second.

One minut or one second?

Hi @jupp0r,
Whats your setup? Are you running MySQL 5.7 on a docker? Mac silicon?

generation time was reduced from about 1h to less than one second.

One minut or one second?

One second. This is on an Apple M1 Max Macbook Pro running Percona 5.7 natively (no docker). Each of the queries was taking more than 30s for some reason.

Looks good. :+1:


Displaying Jupyter Info in Kernel Selector

In the current "select a kernel" telescope, the kernel only displays its file name, making it difficult for people to find the kernel they want. Since most people open kernels through Jupyter Notebook, it would be helpful to include Jupyter Notebook information, such as the file name and kernelspec name. To be more clear, I want something like:
../dir1/notebook1.ipynb  python 3.8(env1)  kernel-0e32...json
../dir1/notebook2.ipynb  python 3.8(env1)  kernel-7b63...json
../dir2/notebook3.ipynb  python 3.10(env2)  kernel-53c3...json
...

This may not be a simple task since Jupyter Notebook does not seem to provide a corresponding interface. The solution I am currently considering is to use jupyter_client to connect to each kernel and send codes to retrieve this information, look like
for kernel in Path(jupyter_runtime_dir()).glob("kernel*.json"):
    manger = KernelManager(connection_file=str(kernel))
    manger.load_connection_file()
    client=manger.client()
    client.execute("!pwd")

    while True:
        msg = client.get_iopub_msg()
        if 'name' in msg['content'].keys():
            if msg['content']['name']=="stdout":
                result=msg['content']['text']
                break

    print(result)

This approach seems unnecessarily complex and requires some waiting time for kernel response. Do you think this is a useful feature, and do you have any better ideas?

Yes the kernel selectors can certainly be improved. As I mostly just connect to the most recently started kernel it is not as big a problem for me.
PR are welcomed, but I am not a fan of connecting to all the kernels just to query the info though for the reason you said.
You can checkout how jupynium.nvim did it if you decided to give this a try.

FYI, in Jupyter Notebook there's an API to get kernel specs. It listed all kernel name, language, etc. I didn't have to manually write a low-level script to achieve this.

FYI, in Jupyter Notebook there's an API to get kernel specs. It listed all kernel name, language, etc. I didn't have to manually write a low-level script to achieve this.

If I'm not mistaken, Kernelspec and kernel have distinct roles in Jupyter Notebook. Kernelspec is used to specify the language kernel used in Jupyter Notebook, while kernel is the actual program that executes the code. Kernelspec configures the kernel, while kernel executes the code.
Jupyter Notebook attaches a kernel to each file we open in order to connect them, and we should use the kernel file in the runtime directory to do so. However, the tricky thing is that the kernel file only records how we connect to it and doesn't tell us the specific kernelspec. In fact, it doesn't know because it can be modified by accessing the "Change Kernel" option in the Kernel menu.
But Jupyter notebook did know, so I was wondering whether Jupyter Notebook provides this API.
Do you happen to have any insights on this matter since perhaps no one has gone as far as you on the frontend API, based on this discussion https://github.com/jupyter/notebook/issues/6307.

Thank you for your response. Your insights have been inspiring, and I appreciate them greatly. I will continue to delve deeper into the JavaScript API of the notebook.

https://github.com/jupyter/jupyter_console
Not sure if this works correctly. But it seems like it has a command jupyter kernelspec list and maybe there's a python API to get kernelspec in this repo.

The Jupyter Notebook file (ipynb) contains the kernel info (but I don't think the kernel ID because it can be always different). Maybe you can match this info with the running kernels.

So my PR  https://github.com/jupyter/jupyter_client/pull/953 has been merged and release, I guess this can be implemented easily now.
Also notebook v7 is coming, do you have plans to support it @lkhphuc @kiyoon ?

@fecet If you mean Jupynium, from the last time I tested Notebook v7 alpha, there were no obvious way to interact with it using front-end only. If they support this, it becomes less annoying to write and I'm willing to re-write it.

It's a shame that we can't use notebook v7 with jupynium. Perhaps we could submit an enhancement request for that so they can discuss it in their weekly meeting (if you'd like, of course). I tried it last time, and their response was very prompt.


Fix multiple wallet minor issues

PR fixes some minor issues found during testing.
Close #292, #293, #294, #297

Does this need to be tested?

@ChaitanyaKonda What does need to be tested?

For example, everytime a PR is pushed, the backend code gets tested against http.mjs and neg-http.mjs using github action. This makes it easier to review too and understand what features were added from the test files.
Considering this is front end, one way we could do the same is to test the front end from the wallet interface for each PR.
It makes easy to understand the functionality added and provide any relevant feedback accordingly.
I could try to test from wallet interface from the instructions for bringing up the wallet as provided in the previous PR but it does not seem to work for me.


hide the keyboard layout

hello everyone ,
i am using the betterlocksceen version - 4.0 form arch user repository. The problem is on the lock screen it is displaying the keyboard layout . i do not want that .
is there any way to hide the keyboard layout from lock screen ?

Hey, I didn't found a option shortly to do this but you could move the layout-pos outside the viewport as quick-fix:
```betterlockscreen -l -- --layout-pos="ix-1000:iy+1000"````
Worked for me, I will have a deeper look into this :)

The keyboard layout is not printed on the 3.2.0-2 version of betterlockscreen . I think for time being I should downgrade to the previous version.

I would not recommend to go back to the lastest v3 but if you prefer you can still do it :)

betterlockscreen -l -- --layout-pos="ix-1000:iy+1000

This workaround is working fine.
Thanks

Hi, This fix works great but it would be great if we can have a command line flag to disable this feature.

Another cleaner workaround would be to set
layoutcolor=00000000
inside betterlockscreenrc
But yes, chances are the --show-layout flag is called by default, previous versions didn't have this

Could you retry the current next branch if the issue is fixed there for you? The default behavior should be no keyboard-layout.


Password correct and will not log in

Issue Description
When I try to run fastlane beta my log in details do not work. I have a password that contains uppercase, lowercase and numbers but no other special characters. When I ran fastlane init it worked fine and I can only find issues that pertain to special characters being present. Has any had the same issue?
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

Captured Output
Command Used: beta
Output/Log

Successfully loaded Appfile at path '/Users/matthewfowles/projects/projectPig/fastlane/Appfile'
- app_identifier: 'projectpig'
- apple_id<EMAIL_ADDRESS>- team_id: '4LQVXQV288'
-------
DEBUG [2017-05-21 21:19:42.10]: Checking if there are any plugins that should be loaded...
INFO [2017-05-21 21:19:42.12]: -------------------------------------------------
INFO [2017-05-21 21:19:42.12]: --- Step: Verifying required fastlane version ---
INFO [2017-05-21 21:19:42.12]: -------------------------------------------------
INFO [2017-05-21 21:19:42.12]: Your fastlane version 2.32.1 matches the minimum requirement of 2.32.1  ✅
INFO [2017-05-21 21:19:42.13]: ------------------------------
INFO [2017-05-21 21:19:42.13]: --- Step: default_platform ---
INFO [2017-05-21 21:19:42.13]: ------------------------------
INFO [2017-05-21 21:19:42.13]: Driving the lane 'ios beta' 🚀
INFO [2017-05-21 21:19:42.14]: -------------------
INFO [2017-05-21 21:19:42.14]: --- Step: match ---
INFO [2017-05-21 21:19:42.14]: -------------------
INFO [2017-05-21 21:19:42.18]: Successfully loaded '/Users/matthewfowles/projects/projectPig/fastlane/Matchfile' 📄

+----------------+--------------------------------------+
|      Detected Values from './fastlane/Matchfile'      |
+----------------+--------------------------------------+
| git_url        | git@github.com:matthewfowles/projec  |
|                | tPig.git                             |
| shallow_clone  | false                                |
| app_identifier | projectpig                           |
| username       | matthewfowles                        |
+----------------+--------------------------------------+

DEBUG [2017-05-21 21:19:42.18]: Taking value for 'team_id' from environment variable 'FASTLANE_TEAM_ID'

+-----------------------+--------------------------------------+
|                   Summary for match 2.32.1                   |
+-----------------------+--------------------------------------+
| type                  | appstore                             |
| git_url               | git@github.com:matthewfowles/projec  |
|                       | tPig.git                             |
| shallow_clone         | false                                |
| app_identifier        | projectpig                           |
| username              | matthewfowles                        |
| git_branch            | master                               |
| keychain_name         | login.keychain                       |
| readonly              | false                                |
| team_id               | 4LQVXQV288                           |
| verbose               | false                                |
| force                 | false                                |
| skip_confirmation     | false                                |
| clone_branch_directly | false                                |
| force_for_new_devices | false                                |
| skip_docs             | false                                |
| platform              | ios                                  |
+-----------------------+--------------------------------------+

INFO [2017-05-21 21:19:42.19]: Cloning remote git repo...
INFO [2017-05-21 21:19:42.19]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
INFO [2017-05-21 21:19:42.19]: $ GIT_TERMINAL_PROMPT=0 git clone 'git@github.com:matthewfowles/projectPig.git' '/var/folders/k6/7mhb8k8d3lb5cnzy67rjwszr0000gn/T/d20170521-61116-imbebp'
INFO [2017-05-21 21:19:42.20]: ▸ Cloning into '/var/folders/k6/7mhb8k8d3lb5cnzy67rjwszr0000gn/T/d20170521-61116-imbebp'...
INFO [2017-05-21 21:20:59.78]: ▸ remote: Counting objects: 612, done.
INFO [2017-05-21 21:20:59.89]: ▸ remote: Compressing objects: 100% (393/393), done.
INFO [2017-05-21 21:22:27.35]: ▸ remote: Total 612 (delta 169), reused 587 (delta 148), pack-reused 0
INFO [2017-05-21 21:22:27.43]: ▸ Receiving objects: 100% (612/612), 32.14 MiB | 302.00 KiB/s, done.
INFO [2017-05-21 21:22:27.44]: ▸ Resolving deltas: 100% (169/169), done.
INFO [2017-05-21 21:22:28.10]: 🔓  Successfully decrypted certificates repo
INFO [2017-05-21 21:22:28.10]: Verifying that the certificate and profile are still valid on the Dev Portal...
The login credentials for 'matthewfowles' seem to be wrong
The password was taken from the environment variable
Please make sure it is correct
Please run this tool again to apply the new password
ERROR [2017-05-21 21:22:28.64]: An error occurred while verifying your certificates and profiles with the Apple Developer Portal.
ERROR [2017-05-21 21:22:28.64]: If you already have your certificates stored in git, you can run `fastlane match` in readonly mode
ERROR [2017-05-21 21:22:28.64]: to just install the certificates and profiles without accessing the Dev Portal.
ERROR [2017-05-21 21:22:28.64]: To do so, just pass `readonly: true` to your match call.
WARN [2017-05-21 21:22:29.13]: Lane Context:
INFO [2017-05-21 21:22:29.13]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta"}
ERROR [2017-05-21 21:22:29.13]: Invalid User Credentials
INFO [2017-05-21 21:22:29.13]: Successfully generated documentation at path '/Users/matthewfowles/projects/projectPig/fastlane/README.md'

+------+---------------------+-------------+
|             fastlane summary             |
+------+---------------------+-------------+
| Step | Action              | Time (in s) |
+------+---------------------+-------------+
| 1    | Verifying required  | 0           |
|      | fastlane version    |             |
| 2    | default_platform    | 0           |
| 💥   | match               | 166         |
+------+---------------------+-------------+

ERROR [2017-05-21 21:22:29.14]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...
Search query: The request could not be completed because:
	Invalid User Credentials

URL: https://api.github.com/search/issues?q=The%20request%20could%20not%20be%20completed%20because:%0A%09Invalid%20User%20Credentials+repo:fastlane/fastlane
➡  authentication problems on second user
    https://github.com/fastlane/fastlane/issues/9230 [open] 1 💬
    a day ago

➡  Pilot Fails with 'invalid request body' message
    https://github.com/fastlane/fastlane/issues/7523 [closed] 2 💬
    22 Mar 2017

➡  Getting 'invalid username and password combination'
    https://github.com/fastlane/fastlane/issues/6977 [closed] 5 💬
    4 weeks ago

and 10 more at: https://github.com/fastlane/fastlane/search?q=The%20request%20could%20not%20be%20completed%20because:%0A%09Invalid%20User%20Credentials&type=Issues&utf8=✓

🔗  You can ⌘ + double-click on links to open them directly in your browser.

✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.4

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.4 (16E195)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://docs.fastlane.tools/actions
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "2.32.1"

default_platform :ios

platform :ios do

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    match(type: "appstore")

    gym(
      scheme: "projectPig",
      project: './ios/projectPig.xcworkspace'
    )

    pilot

  end
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used. No personal data is recorded.
# Learn more at https://github.com/fastlane/fastlane#metrics

`./fastlane/Appfile`
app_identifier "projectpig" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "4LQVXQV288" # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.32.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
1.11.1

xcpretty
0.2.6

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.55.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

json
1.8.1

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.6

faraday_middleware
<IP_ADDRESS>

psych
2.0.8

generated on: 2017-05-21

It looks like you have FASTLANE_PASSWORD or DELIVER_PASSWORD set, can you verify that those values are correct?

Yes i only set FASTLANE_PASSWORD to check is was not an issue typing it in. That password is correct

@matthewfowles @KrauseFx  I see the ticket as closed, but would like to confirm the findings. I was receiving this exact same error on our Team City CI server(s) for the past two days on fastlane 2.54.1 version.
The issues pertain to special characters being present in the password. In the Fastfile if you echo the ENV["FASTLANE_PASSWORD"] variable like so:
 lane :develop do
 ...
 puts ENV["FASTLANE_PASSWORD"]
 ...
 end

You can see the output when you run the lane: of the password missing special characters like<EMAIL_ADDRESS>Obviously attempting to login with the incorrect password will cause problems. I tested this with .env files as well as fastlane-credentials for storing the passwords. In both cases ENV["FASTLANE_PASSWORD"] was missing the passwords special characters.

My .env file FASTLANE_PASSWORD is in quotes - now that is 😄. Thanks @ohayon!


Add Ruby support

Haven't looked at this at all, but similar to other langs, it should be totally possible.
Just a question of whether we try to support rvm (probably) or rbenv, etc.

I'd suggest starting with rbenv or chruby for their smaller footprint and complexity relative to rvm

@rickhull nice – I actually went with nave over nvm for the same reason. I just saw that Travis uses rvm so thought that might be a better choice (I also saw that they have prebuilt binaries which I thought might be easier on Lambda) – but yeah, will hopefully get a chance to look at this in the next couple of days

@mhart I've been creating pre-built ruby packages (based on rbenv) to make installations faster, if I can help with something, just tell me

@fernandes interesting – what have you been doing for dependencies like libyaml, etc? Do you include them in the pre-built packages, or do you assume the system already has them?

@mhart in our case, I put libraries as dependencies for rbenv package, and everything is ok
but, ruby can be compiled with static linkage, then there's no need for additional deps (but bigger binary)
makes sense?

Ok, so I've made some progress. Here's what works so far:
# Install rbenv
git clone --depth 1 https://github.com/rbenv/rbenv.git ~/.rbenv

# Add this plugin to download prebuilt binaries
git clone --depth 1 https://github.com/garnieretienne/rvm-download.git ~/.rbenv/plugins/rvm-download

# Set paths and env correctly for rbenv
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

# Download compatible binaries – centos 6 is compatible with amazon linux:
# So all versions at https://rvm.io/binaries/centos/6/x86_64/ should work
SYSTEM_NAME=centos SYSTEM_VERSION=6 rbenv download 2.2.1

rbenv local 2.2.1
gem install bundler
bundle --version

Here's the problem: this list of prebuilt binaries is pretty small, and not up to date – the latest is ruby 2.2.1 and a number of gems aren't compatible with a version that old (I get errors building projects like: Gem::InstallError: rack requires Ruby version >= 2.2.2)
So does anyone have a source of more up-to-date ruby binaries that will work with Amazon Linux (or CentOS or possibly even Fedora)?

I don't know, I created my own debian repo :~
for ubuntu (I don't know if it's easier to change the distro or build the package, anyway...) you can get from: http://rubies.travis-ci.org/

Alright, I have Ruby working!
I've compiled the following versions which can be installed with rbenv:

2.3.1
2.2.5
2.1.9
2.0.0-p648

There's documentation here: https://github.com/lambci/lambci#ruby
Here's a log of a build of the chunky_png project.
So all up the bootstrap time is around 15 secs. A large part of that is bundler installing I think – the rbenv and ruby downloads are quite quick.
I'll look at including rbenv in LambCI itself so it doesn't need to be bootstrapped – but I don't think there's any way we'll include all (or any) of the Ruby binaries, so I think they'll always need to be bootstrapped – we might just look at making it a little cleaner if we ever develop language-specific support.
Closing this for now, but we can open more issues to refine the way we support Ruby

@mhart do you have any idea why I am getting 'Permission denied' issue?
 $ ./build-ruby.sh
/bin/bash: ./build-ruby.sh: Permission denied
Command "./build-ruby.sh" failed with code 126

@mhart do you have any idea what is the best way to setup ci with private repo since I am getting this now
$ ./build-ruby.sh
+ rm -rf /tmp/maisi_website
+ git clone --depth 1 https://github.com/ksaynice/maisi_website.git /tmp/maisi_website
Cloning into '/tmp/maisi_website'...
fatal: could not read Username for 'https://github.com': No such file or directory
Command "./build-ruby.sh" failed with code 128

@ksaynice you shouldn't be cloning the repo explicitly – as the comment in that file says, I'm only cloning that repo as an example. If you set your repo up with LambCI, then you'll already be in the repo directory when the build starts.

@mhart gotcha, and thanks for the fast respond

now I am having trouble while bundle trying install gems from github repo, I guess it through SSH instead of https, so I wondering if the github token I have been setup before would work with it even I set access public repo permission for it.
see backtrace here:
Build #6 started...

Branch log: https://lambci-buildresults-70839mch26l.s3.amazonaws.com/gh/ksaynice/maisi_website/branches/master/1cb69a11ac6acffd237a5a74d153de23.html
Branch status img: https://lambci-buildresults-70839mch26l.s3.amazonaws.com/gh/ksaynice/maisi_website/branches/master/0a44b0faf883cdcc998c36149e757e99.svg
Build log: https://lambci-buildresults-70839mch26l.s3.amazonaws.com/gh/ksaynice/maisi_website/builds/6/f9dd200a3eea2b4f6a94d795d80dfbc6.html

$ ./build-ruby.sh
+ VERSION=2.3.1
+ tar -C /tmp/lambci/home -xz
+ curl -sSL https://lambci.s3.amazonaws.com/binaries/libyaml-2.0.4.tgz
+ '[' -d /tmp/lambci/home/.rbenv ']'
+ git clone --depth 1 https://github.com/rbenv/rbenv.git /tmp/lambci/home/.rbenv
Cloning into '/tmp/lambci/home/.rbenv'...
+ export PATH=/tmp/lambci/home/.rbenv/bin:/tmp/lambci/home/.local/bin:/tmp/lambci/home/usr/bin:/var/task/vendor/python/bin:/var/task/node_modules/.bin:/usr/local/lib64/node-v4.3.x/bin:/usr/local/bin:/usr/bin/:/bin
+ PATH=/tmp/lambci/home/.rbenv/bin:/tmp/lambci/home/.local/bin:/tmp/lambci/home/usr/bin:/var/task/vendor/python/bin:/var/task/node_modules/.bin:/usr/local/lib64/node-v4.3.x/bin:/usr/local/bin:/usr/bin/:/bin
++ rbenv init -
+ eval 'export PATH="/tmp/lambci/home/.rbenv/shims:${PATH}"
export RBENV_SHELL=bash
source '\''/tmp/lambci/home/.rbenv/libexec/../completions/rbenv.bash'\''
command rbenv rehash 2>/dev/null
rbenv() {
  local command
  command="$1"
  if [ "$#" -gt 0 ]; then
    shift
  fi

  case "$command" in
  rehash|shell)
    eval "$(rbenv "sh-$command" "$@")";;
  *)
    command rbenv "$command" "$@";;
  esac
}'
++ export PATH=/tmp/lambci/home/.rbenv/shims:/tmp/lambci/home/.rbenv/bin:/tmp/lambci/home/.local/bin:/tmp/lambci/home/usr/bin:/var/task/vendor/python/bin:/var/task/node_modules/.bin:/usr/local/lib64/node-v4.3.x/bin:/usr/local/bin:/usr/bin/:/bin
++ PATH=/tmp/lambci/home/.rbenv/shims:/tmp/lambci/home/.rbenv/bin:/tmp/lambci/home/.local/bin:/tmp/lambci/home/usr/bin:/var/task/vendor/python/bin:/var/task/node_modules/.bin:/usr/local/lib64/node-v4.3.x/bin:/usr/local/bin:/usr/bin/:/bin
++ export RBENV_SHELL=bash
++ RBENV_SHELL=bash
++ source /tmp/lambci/home/.rbenv/libexec/../completions/rbenv.bash
+++ complete -F _rbenv rbenv
++ command rbenv rehash
+ echo 'gem: --no-document'
+ echo '--color --tty'
+ '[' -d /tmp/lambci/home/.rbenv/versions/2.3.1 ']'
+ tar -C /tmp/lambci/home/.rbenv/versions -xz
+ curl -sSL https://lambci.s3.amazonaws.com/binaries/ruby-2.3.1.tgz
+ rbenv rehash
+ local command
+ command=rehash
+ '[' 1 -gt 0 ']'
+ shift
+ case "$command" in
++ rbenv sh-rehash
++ local command
++ command=sh-rehash
++ '[' 1 -gt 0 ']'
++ shift
++ case "$command" in
++ command rbenv sh-rehash
++ rbenv sh-rehash
+ eval 'hash -r 2>/dev/null || true'
++ hash -r
+ rbenv local 2.3.1
+ local command
+ command=local
+ '[' 2 -gt 0 ']'
+ shift
+ case "$command" in
+ command rbenv local 2.3.1
+ rbenv local 2.3.1
+ gem install bundler
Successfully installed bundler-1.12.5
1 gem installed
+ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Fetching git@github.com:ActsAsParanoid/acts_as_paranoid.git
PRIV_END: seteuid: Operation not permitted
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Retrying git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet due to error (2/4): Bundler::Source::Git::GitCommandError Git error: command `git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet` in directory /tmp/lambci/build/ksaynice/maisi_website has failed.
PRIV_END: seteuid: Operation not permitted
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Retrying git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet due to error (3/4): Bundler::Source::Git::GitCommandError Git error: command `git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet` in directory /tmp/lambci/build/ksaynice/maisi_website has failed.
PRIV_END: seteuid: Operation not permitted
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Retrying git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet due to error (4/4): Bundler::Source::Git::GitCommandError Git error: command `git clone 'git@github.com:ActsAsParanoid/acts_as_paranoid.git' "/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4" --bare --no-hardlinks --quiet` in directory /tmp/lambci/build/ksaynice/maisi_website has failed.
PRIV_END: seteuid: Operation not permitted
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Git error: command `git clone
'git@github.com:ActsAsParanoid/acts_as_paranoid.git'
"/tmp/lambci/home/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/bundler/git/acts_as_paranoid-9f5cd34ede152d37968c179cab0abea94c646db4"
--bare --no-hardlinks --quiet` in directory
/tmp/lambci/build/ksaynice/maisi_website has failed.
Build #6 failed: Command "./build-ruby.sh" failed with code 11

Hmmm, interesting – I'm not exactly sure what that "PRIV_END: seteuid: Operation not permitted" error is – it's possible that git is trying to write a file somewhere that it doesn't have access to...? I'll look into this!

@ksaynice ugh, ok, this is looking not so good – so with a<EMAIL_ADDRESS>address, git will use ssh to clone the directory.
The problem is, ssh is trying to create a .ssh directory in /home/sbx_user1051/ instead of respecting the HOME env variable (which should be /tmp/lambci/home) – but it doesn't have access to  /home/sbx_user1051/ – so it fails with a permission error.
I'm looking to see if there's any way we can get ssh to respect the HOME variable, but if not, then it might not be possible to clone repositories using<EMAIL_ADDRESS>addresses – you might need to stick to https://github.com addresses 😕

@ksaynice ok, I've figured out a way to get ssh working with github on Lambda.
Basically, you can export a GIT_SSH_COMMAND which git will use whenever it wants to talk ssh. This means that you can provide your own path to a key, known_hosts, etc.
I'm looking into generating an ssh key that all LambCI users can use. But until then you could provide your own key (create a throwaway GitHub user for this – don't use your own personal key unless you know what you're doing!), for example:
export GIT_SSH_COMMAND="ssh -i $PWD/path/to/private/id_rsa -o UserKnownHostsFile=$PWD/path/to/known_hosts"

Or to turn off host checking:
export GIT_SSH_COMMAND="ssh -i $PWD/path/to/private/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"

Then you should be able to clone GitHub repos using the git@github.com:user/repo.git notation.
Again, I'll make this easier and add some documentation about it.

@ksaynice opened an issue at #26 to track this – let's move any conversation about ssh stuff over there

@mhart sounds good, thanks for the help, and I really like the idea that you will create a user and have a SSH for it that all LambCi user can use :)


Pickling error with custom metrics

For this code, bog standard except for a custom metric:
def median_absolute_percentage_error_raw(y_true, y_pred, multioutput='uniform_average'):
    import numpy as np
    output_errors = np.median(np.abs((y_pred - y_true) / y_true), axis=0)
    if isinstance(multioutput, str):
        if multioutput == 'raw_values':
            return output_errors
        elif multioutput == 'uniform_average':
            # pass None as weights to np.average: uniform mean
            multioutput = None
    return np.average(output_errors, weights=multioutput)

from autogluon.utils.tabular.metrics import make_scorer
median_absolute_percentage_error = make_scorer('median_absolute_percentage_error', median_absolute_percentage_error_raw, optimum=0, greater_is_better= False)

from autogluon import TabularPrediction as task
predictor = task.fit(train_data= task.Dataset(file_path= "myAutogluonTrainingSet.csv"), label= "myColumn", eval_metric= median_absolute_percentage_error, hyperparameter_tune= True)

Generating the fit seems to hang partway in, and shows no further progress
Num of Finished Tasks is 0
Num of Pending Tasks is 1000
  0%|                                                                                | 0/1000 [00:00<?, ?it/s]Process Process-34:
Traceback (most recent call last):
  File "/home/pkahn/anaconda3/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/pkahn/anaconda3/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/scheduler/scheduler.py", line 125, in _worker
    ret = fn(**kwargs)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/core/decorator.py", line 58, in __call__
    output = self.f(args, **kwargs)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/core/decorator.py", line 139, in wrapper_call
    return func(*args, **kwargs)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/utils/tabular/ml/models/lgb/hyperparameters/lgb_trial.py", line 82, in lgb_trial
    trial_model_file = lgb_model.save(file_prefix=file_prefix, directory=directory, return_filename=True)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/utils/tabular/ml/models/abstract/abstract_model.py", line 166, in save
    save_pkl.save(path=file_name, object=self, verbose=verbose)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/utils/tabular/utils/savers/save_pkl.py", line 11, in save
    save_with_fn(path, object, pickle_fn, format=format, verbose=verbose)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/utils/tabular/utils/savers/save_pkl.py", line 24, in save_with_fn
    pickle_fn(object, fout)
  File "/home/pkahn/anaconda3/lib/python3.6/site-packages/autogluon/utils/tabular/utils/savers/save_pkl.py", line 10, in <lambda>
    pickle_fn = lambda o, buffer: pickle.dump(o, buffer, protocol=4)
_pickle.PicklingError: Can't pickle <function median_absolute_percentage_error_raw at 0x7f4f5af24378>: it's not the same object as __main__.median_absolute_percentage_error_raw

I spent some time looking into this but not able to find a fix yet. Root cause seems that the function is serialized along while the model while saving.
A small reproduction of a similar issue, is when redefining a function which has been captured by a class that is being pickled. But I didn't see the function mediand_absolute_percentage_error_raw here being redefined in the repro.
import pickle
def f():
    pass

#class D(object):
#    pass

class C(object):
    pass

if  __name__ == '__main__':
 #   d = D()
    c = C()
  #  d.f = f
    c.f = f
    def f():
        pass

  #  c.f = d.f
    s=pickle.dumps(c)

I think in this case could be related to the decorator @args() in lgb_trial
Because for other models it works fine.
https://github.com/awslabs/autogluon/blob/master/autogluon/utils/tabular/ml/models/lgb/hyperparameters/lgb_trial.py#L22

I checked with the debugger, and for GBM seems the function is indeed redefined or has a different ID.  I suspect it could be because the args decorator.

I would suggest to run fit with hyperparameter_tune=False I don't observe the crash with this, as it doesn't trigger multiprocessing. We will rework how we do multiprocessing and distributed training for hyperparameter tunning in the future.


Feat: DApp browser

Summary (Please recap what you changed or fixed)
Related #184

Checklist (If you won't pass this checklist please comment why)

[x] I removed all commented or unnecessary code.
[x] Provide the screenshots due to UI changed or bug fixed
[ ] My code has covered these test cases (please list down your tested cases):

LGTM after resolving some changes, please help to fix code smells also @hoailinh1210


Segfault when porting to python 3.10

Hi,
libapache2-mod-python failed some tests in Ubuntu regression tests, so we added a few patches to port it to python 3.10 (you can find those pretty straightforward patches here [1]). The problem is that now it segfaults on an address returned by PyArg_ParseTuple, and this is where we are struggling to understand what's wrong (even though one of the patch touches this area). Everything is explained in detail at [1], could you give us a hand?
Thanks,
Alex
[1] https://bugs.launchpad.net/ubuntu/+source/libapache2-mod-python/+bug/1960088

xnox (in the discussion on your link) is on the right track - you should be using master, we don't do mod_python releases any longer (it syas so on the modpython.org site). If you make a PR for this patch that'd be great!

This could be related to #100


Add depth prepass

This change removes the shadow pass from the mesh.material and instead defines a new depth.material. The MeshAssetPart created by gltf/assets.rs now have boolean values for casts_shadows or receives_shadows instead of the optional shadow material -- this assumes that all generating shadows for a given mesh part can use the new predefined material. The new depth.material is passed through the mesh/extract job into mesh/prepare where it is used for both shadows and the depth pre-pass.

Nice, I'll merge it once CI finishes :)


Vegas algorithm development

This PR integrates the Vegas algorithm to scikit-monaco. The implementation is a thin wrapper around P. Lepage's Vegas module, but provides API compatibility with existing scikit-monaco functionality.

Does this still need more work? @pbugnion


copy static files of main in building process

Why is this change needed?
The static files actually don't have to be copied over to the build dir. Electron Builder actually pulls the static files from the src directory when the app gets compiled.

we need it when npm run dev

sorry, the modification should be in dev-server.js
I add this because I need to access the image file in the main process.

I just noticed. You're correct, this broke after we migrated to TS.
I don't think there's a way to avoid this right? I'm thinking about the devs that have larger files in their static directory, it would need to get copied on every start up.
Maybe to make the process go faster, we can use Promise.allSettled so we can copy the files, and let the dev server start up at the same time asynchronously.
I'll test your change and if everything works perfectly I'll merge it 👍

I just noticed. You're correct, this broke after we migrated to TS.
I don't think there's a way to avoid this right? I'm thinking about the devs that have larger files in their static directory, it would need to get copied on every start up.
Maybe to make the process go faster, we can use Promise.allSettled so we can copy the files, and let the dev server start up at the same time asynchronously.
I'll test your change and if everything works perfectly I'll merge it 👍

Looks good, one thing I noticed is that the cpSync method got introduced in 16.x, so the minimum version of node this template with is 16.x now.
Not a problem for me 😄 seems that node LTS is currently on 16.x. Nice!
Thank you for contributing. It means a lot.


Issue getting package to start with custom python windows directory.

So I have python installed into "D:\Coding\Python\python.exe" on windows, however changing the Python Executable Path to this doesn't seem to work, am I doing something wrong?

It just wants the directory so: D:\Coding\Python\


fixes for #461 + testcases + fix troubles with AppVeyor

@welefen i'm fix issue #459 , create testcase for parseGroup and small work around group by
PS: 2nd commit fix troubles for eslint

Coverage decreased (-0.01%) to 92.417% when pulling 87c17f2029b8dadb561e437f26775b366aa402ce on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.2%) to 92.665% when pulling e2d241d17cdd5e122739b807ac10c1f81436293b on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.3%) to 92.73% when pulling bc2d3280f6ae3650a9e25151981fc288c47282f1 on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.3%) to 92.774% when pulling 9136ace9c0f60031757a3ee510e667b3da36e8c5 on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.5%) to 92.893% when pulling 0cfcd91bd1505756b24c5cd5279adb13c3afc389 on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.5%) to 92.893% when pulling 983252ccb537faddd37b9b8f50087cf54fc3f16d on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.5%) to 92.893% when pulling 68ea69b06347e3e90058809da315b63db918f68c on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

Coverage increased (+0.5%) to 92.893% when pulling fe4c2ab50eb8de13a7611df58bd0bcdc344609f1 on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

AppVeyor fails with node v0.12 because:
Error: EPERM, rename 'C:\Users\appveyor\AppData\Roaming\npm-cache\lodash\4.16.3\package.tgz' (can't install package, permission denied)
I should say in otherwise it should pass all tests..

Coverage increased (+0.5%) to 92.882% when pulling 4544b33a8f34766f2306e13906cf5ea61dc9b7ce on im-kulikov:work_around_issue_461 into a410e66bb358e2c81e480a28faded8ac7ee0a185 on 75team:master.

it was bug in AppVeyor: https://github.com/appveyor/ci/issues/102

@welefen hi, what should be done to merge this PR?


FS GPON stick upload speed is below the subscription speed.

is there any command to reset the GPON laser? it is because every time the GPON stick reboot and the upload speed is very slow (is like below 100mbps). However when I try to remove and connect back the SC cable, the upload speed back to full speed. Any idea what cause the issue?

What firmware? Original or modded?

modded

The original firmware, 6BA1896SPLQA42

We need @ErnyTech

All I know the OLT once for side is provide by FIberhome. On the FS ONU mostly is default setting from the GitHub page.

this ONT performs poorly in upload with huawei OLTs. a known fact.