Support for setting the application class loader when starting a transaction via the public api

What does this PR do?
Adds support for setting the application class lower when starting a transaction via the public api (e.g. external plugins).
My external plugin instruments a class which is not loaded by the class loader of my application and does not have access to application classes (but it does know what the correct class loader is). For external plugins the initiating class loader of a transaction is a IndyPluginClassLoader with the class loader of the instrumented class as its parent. So when the MdcActivationListener tries to lookup the logging implementations it cannot find any, as they are not part of the class loader of the instrumented class.
By specifying the initiating class loader (the one with the application and logging classes) when starting a transaction the log correlation is then able to find the used logging implementation.
Checklist

[x] This is an enhancement of existing features, or a new feature in existing plugins

[x] I have updated CHANGELOG.asciidoc
[x] I have added tests that prove my fix is effective or that my feature works
[x] Added an API method or config option? Document in which version this will be introduced
[x] I have made corresponding changes to the documentation

:grey_exclamation: Build Aborted

The PR is not allowed to run in the CI yet

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Reason: The PR is not allowed to run in the CI yet

Start Time: 2021-12-22T20:11:02.895+0000

Duration: 4 min 36 sec

Commit: 4fbc7ad276eb6866db06c3fedf02e492d2d0aae0

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark test.

run compatibility tests : Run the JDK Compatibility test.

run integration tests : Run the APM-ITs.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

Thanks for the proposed fix @tobiasstadler ! ❤
While this solves your problem and it worths considering, it can only work when the plugin class knows the application class loader, so maybe it's not a very generic solution. In addition, it extends the API in a way that raises the proficiency bar and our aim is to keep it as simple as possible.
The general problem is that we use an incorrect CL, as explained in #2350 .
An easy fix for that is to avoid using agent class loaders as trace context CLs. If we just set null, the MDC listener will fallback to try the context CL or the System CL, which may be sufficient. Another option is to use the actual loader of the class instrumented by the plugin, as it can be available for us through the IndyPluginClassLoader. And maybe the best is try both - use the instrumentation library CL and in the MDC listener try that AND the fallback if it fails.

Yes, this is by no means a generic solution. But I think I still need this, even if a generic solution for #2350 is available. As I said neither the class loader of the instrumented class nor the context class loader at that time have access to the the log4j classes. So in my opinion the MdcActivationListener will still not be able to load the log4j classes and therefore should not be able to add the ids to the trace context.
Yes, this problem is specific to my plugin and of course I could manually add the ids to the trace context. But I prefer to use the existing solution.

As I said neither the class loader of the instrumented class nor the context class loader at that time have access to the the log4j classes.

Sorry, I didn't see anywhere above that you mentioned that the context CL doesn't have access to the MDC. Did you try to set the CL to null and verify that Context CL indeed doesn't have access to it? What's being set as the context CL of the request executing thread? Is this occurring within a JBoss-managed thread pool, or some custom thread pool?
The general concept of MDC (or ThreadContext) assumes that either the logging library (or facade) is globally available, or that it is available through the context CL to any code that want to update it. I'd look for alternatives before providing the agent with a CL that can load classes out of context. It may not be, but it sounds like a potential for trouble :) .
You report this doesn't work when used in an external plugins, as opposed to internal plugin. Assuming that your internal plugin instrumentation would have been the same, what would you set there as "initiating Class Loader" if you instrumented the same class as an internal plugin?

I don‘t think it will work if my plugin was an internal plugin, because the context class loader is the ejb module class loader (which does not have access the the application/logging classes) when I start/activate the transaction. So the MdcActivationListener shouldn‘t be able to find my logging class.
But I think I could set the context class loader to my application class loader (with access to the logging classes) before starting/activating the transaction and restore the old class loader after the activation. So if the generic solution falls back to the context class loader it could also work for me.

I changed my plugin to change the context class loader before starting/activating the transaction, set the applicationClassLoader of the TraceContext to null (using the debugger) and log correlation works for me (with 1.26.1, but the same approach should also work for me with 1.28.3)

I implemented "try the application class loader AND fallback to the cortex class loader" in #2374 (works for me)

I changed my plugin to change the context class loader before starting/activating the transaction, set the applicationClassLoader of the TraceContext to null (using the debugger) and log correlation works for me (with 1.26.1, but the same approach should also work for me with 1.28.3)

I want to provide a wholistic fix for this external plugins CL issue, so I would be grateful if you provide some more concrete details:

What Servlet container are you using? Is it OSGi?
What is set by default as the context CL when your instrumentation is invoked?
What is your library class loader?
What is your applicationClassLoader?
How can you have access to the applicationClassLoader from your plugin?
Is it possible that the instrumented library is loaded more than once in your system (i.e. by multiple class loaders in different contexts)?

@eyalkoren The problematic plugin is: https://github.com/tobiasstadler/apm-wildfly-remote-ejb-plugin. The integration test is close enough to our actual production use case.
Regarding you questions:

We are using JBoss EAP as servlet container/application server
The context class loader is the same as the one of the instrumented class: the class loader of the org.jboss.ejb-client JBoss Module
The application class loader is the class loader of the deployment
componentView.getViewClass() (see https://github.com/tobiasstadler/apm-wildfly-remote-ejb-plugin/blob/main/plugin/src/main/java/co/elastic/apm/agent/wildfly_remote_ejb/RemoteEJBServerAdvice.java) is the actual (remote) interface of the EJB and part of my application. Calling getClassloader will get me the class loader of my deployment.
As far as I know the org.jboss.ejb-client JBoss Module is shared between all deployed applications, so I guess it is not possible to load it more than once

e.g. in co.elastic.apm.agent.wildfly_remote_ejb.RemoteEJBServerAdvice#onEnterInvokeMethod:
Context Class Loader (Thread.currentThread().getContextClassLoader()): ModuleClassLoader for Module "org.jboss.ejb-client" version 4.0.44.Final from local module loader @6057aebb (finder: local module finder @63eef88a (roots: /opt/jboss/wildfly/modules,/opt/jboss/wildfly/modules/system/layers/base))
Application Class Loader (componentView.getViewClass().getClassLoader()): ModuleClassLoader for Module "deployment.apm-wildfly-remote-ejb-plugin-it.war" from Service Module Loader

I see, the JBoss module system. So with regards to:

As far as I know the org.jboss.ejb-client JBoss Module is shared between all deployed applications, so I guess it is not possible to load it more than once

I believe you can use multiple versions for a module, is that correct? If so, multiple class loaders may load versions of the class that your plugin is instrumenting.
Either way, this addresses my general consideration - the usefulness of setting the library class loader for this purpose is doubtful.
Another solution would be to use a ThreadLocal instead of MDC when the latter is unavailable and use that when logging actually occurs. These are the two main options I have in mind:

Instrumenting the logging frameworks to capture all logging events and if the dedicated ThreadLocal is set, it means that the MDC could not be set, so set trace IDs in the MDC before logging the event and remove it after (without the risk of not being to load the MDC/ThreadContext class).

Pro: generic
Con: complicated and riskier - requires a new instrumentation for each logging framework, possibly multiple implementations for different versions

In ECS-logging, if trace/transaction/error IDs are not available through MDC, try reading them through the same ThreadLocal

Pro: simpler and cheaper
Cons: would take effect only when using ECS-logging

Let me think about it for a bit and see if and how it is related to the fix we need to do anyway (we shouldn't set an agent CL as described in #2350 ).
Maybe we will end up extending the API as you propose eventually or as an additional workaround.
My goal is to find a way for it to work without requiring you to specify a CL and definitely without changing the context class loader.

Shouldn‘t setting the „correct“ class loader (by the external plugin) as context class loader before activating the transaction also work, when the logging plugin falls back to context class loader? It requires the external plugin to set/unset the context class loader, but it is easy to implement in the agent. I think that my problem is an edge case and in most cases the context class loader will be the „correct“ one, so most external plugins probably won‘t need to do anything.
Another option would be to allow the external plugin to set the application class loader when starting the transaction
Or maybe the external plugin can use the context class loader as application class loader when starting a transaction. But using the context class loader will probably break some stuff.

Let me think about it for a bit and see if and how it is related to the fix we need to do anyway (we shouldn't set an agent CL as described in #2350 ).
Maybe we will end up extending the API as you propose eventually or as an additional workaround.
My goal is to find a way for it to work without requiring you to specify a CL and definitely without changing the context class loader.

I am, fine with changing the context class loader in my plugin.

Sorry, I wasn't really clear on that- I definitely think we should fallback to looking in the context CL not only when the "initiating CL" is not set, but also when it is set and fails to load the MDC class, so I assume we want #2374 anyway (that's what I proposed above).
However, I don't want to force you to set the context CL, it may have side effects that you currently don't see, but users of your plugin (or you in the future) do not expect.
Let me digest everything and then we'll merge everything that is in accordance to our solution.

#2350 is not really an issue for me as I will deploy a workaround to make log correlation work for me. So no need to hurry (at least for my issue).

@eyalkoren #2376 works for me. Thanks You!

@eyalkoren Did you already get a chance to think about this change?

Likely to be superseded by #2412

While #2412 may solve the MDC issue, the mechanism to overwrite the service name will still not work, because the transaction is associated with no/the wrong class loader. In my case the transaction will have jboss-application as service name instead of the service name of my deployment (class loader).

@felixbarny @eyalkoren While #2412 solves the log correlation case, but overwriting the service name still doesn't work (in my case). Could we please adapt the public api as proposed in this PR.

Adding a class loader argument to startTransaction creates a (small) combinatorial explosion and forces users to think about whether and which class loader they need to set.
But I think we could just make it an instance method of Transaction::setInitiatingClassLoader. Then it's clearly optional and folks that don't need it don't have to worry about it. This should work as TraceContext:setApplicationClassLoader is mutable/can be set after starting the transaction. We'll just need to make sure that we also set the service name and version when the class loader is set after transaction start.
There can be issues when setting the class loader after spans have already created. The consequence is that some spans may have the wrong service name and version. I think that risk is acceptable. We can document that the method should be called before creating child spans.

@felixbarny Thank You for your review. I will come up with an implementation in the next days

@felixbarny I implemented you suggestion in #2444


Add a dark mode

A few people have asked for this, and I have two main options:

Wait for Bulma to implement CSS variables themselves and then implement dark mode from there
Fork Bulma and add a dark mode myself

There may be someone out there who already did the legwork on this, so I should look around for that before doing it myself.

Resolved by #1501! :D


[Question] How can I change color of leather item

Question
Any idea?
Plugin Version
latest
Additional Information
No response

Currently there is no action to change the color of leather item. I will add that feature in the next version.

alright 👍


Refactor sudo agent for darwin using Golang

node is required to be installed on darwin cuz sudo-agent is written in Node.js, and must be executed in root privilege independent. There is a lot of bad hacks to deal with privilege problems in darwin.
Now I found another approach to tackle this gracefully. Rewrite sudo-agent in Go is easy and without any
redundant hacks.
Also see:
https://github.com/blinksocks/blinksocks-desktop/tree/master/docs/usage#macos

6ba18428e3ff2e068220853672d95a0764af3810
76e15c33a793bb91000a833739609e8c0bf91151


Remove setuptools-scm

Remove setuptools-scm:

Update pyproject.toml: delete ref in [build-system]
Setup manageable versioning scheme as in this repo:

Versioning not directly handled by setuptools-scm, unlike here, yet it is needed in gha build_wheel.yml
The same error (below) was apparently fixed via these changes in workflow, L71 - 81
Check also setup in their pyproject file

ERROR    HTTPError: 400 Bad Request from https://test.pypi.org/legacy/

         '0.1.dev1+gdfcb690.d20240220' is an invalid value for Version. Error:
         Can't use PEP 440 local versions. See
         https://packaging.python.org/specifications/core-metadata for more
         information.

Maybe revisit later.


fix: add nsis/preinstall to prevent sfdx install ontop of sf

What does this PR do?
adds an nsis and preinstall script to prevent installing sfdx-cli (v7) when sf v2 is installed. This will prevent users from downgrading, or getting confused, because the sfdx executable is an alias of sf v2
What issues does this PR fix or reference?
@W-13012662@

The downgrade path overwrites the installed CLI correctly, so no reason to warn the user. Closing this PR for now, we can reopen it if needed.


Is it possible to add two values in an OnConflict clause in GORM?

Your Question
Looking to do something like
INSERT INTO `table` (...) VALUES (...) ON DUPLICATE KEY UPDATE `points`=`points` + 10

I found this in the official docs

But when I try, it prompts
OnConflict clause assignment with gorm.Expr is banned for security reasons for now

Is it possible to add two values in an OnConflict clause in GORM?

Seems like a problem of gorm/gen. Just close this issue.


Fixes and improvements

Needed to tweak a bit to get jenkins-slave image working.
Also, applied non-interactive settings for apt.

Missed a spot, will do a new pull request


Synthesize reflective proxies at link time.

PR in progress to tests one commit at a time. All commits are in no-refl-proxy-in-sjsir-2
Instead of relying on reflective proxies stored in sjsir files by the compiler, we synthesize them at link time, on demand. During deserialization of sjsir files, we throw away all the reflective proxies. The Analyzer identifies the reflective proxies needed to satisfy calls of reflective methods, and the Linker synthesizes the bridges.
The compiler does not need to generate reflective proxies anymore, which simplifies it a bit.
More importantly, this reduces the amount of virtually useless stuff stored in sjsir files. This improves their size, but also the time it takes to deserialize them, and the memory footprint for the deserialized reflective proxies that are never used.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2652/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3425/
Test FAILed.

Hum ... surprisingly this ends up eating more memory :s The toolsJS tests all failed with OOMs (or Node.js' equivalent thereof).

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2655/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3429/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2657/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3431/
Test PASSed.

Review by @gzm0

Did you run the partest suite on this one?

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2659/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3433/
Test FAILed.

I didn't, I was waiting for the regular CI to complete (there is some binary incompat in CLI to be fixed). But indeed we should definitely run a nighlty on this one.

Could you rename the initialLink option from the Analyzer to allowAddSyntheticMembers? I didn't realize you wanted to extend this to a non-hack (thinking of default methods it makes perfect sense to do so).
However, initialLink is a name that completely breaks abstractions. (The Analyzer doesn't need to know why you want to generate synthetic members, but that you want to).

OK. And yes, default methods should come next :p

Updated.

Nightly: https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3439/

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2662/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3439/
Test PASSed.

Nightly has a couple of spurious failures, but all partest jobs have passed :-)


[BUG] Not able to retrieve secrets from KeyVaul using ManagedIdentity

Describe the bug
AKS version: 1.20.7
Azure.Identity: 1.4.1
Azure.Security.Keyvault.Secrets: 4.1.1
Grpc.AspNetCore: 2.38.0
We were unable to retrieve secrets from Azure KeyVault using AAD pod managed identity, below are our code snippets and the corresponding errors we received accordingly.
Below code snippets were tried on the .net GRPC server side when client call arrives.
The 1st code snippet works perfectly fine, however, if we FIRST try to retrieve a non-existing secret from the KeyVault in the service Startup.cs code and later try to retrieve actual secret. We were totoally baffled by this behaviour. Can someone through some light on this please.

Code Snippet 1

var client = new SecretClient(new Uri(_keyVaultUrl), new DefaultAzureCredential());
secret = client.GetSecret(secretName, version: secretVersion);

Error
Azure.Identity.AuthenticationFailedException: Azure CLI authentication timed out.

Code Snippet 2

var credential = new ChainedTokenCredential(new ManagedIdentityCredential(), new AzureCliCredential());
var client = new SecretClient(new Uri(_keyVaultUrl), credential );
secret = client.GetSecret(secretName, version: secretVersion);

Error
Azure.Identity.AuthenticationFailedException: ManagedIdentityCredential authentication failed: Service request failed.

Expected behavior
What is the expected behavior?
Actual behavior (include Exception or Stack Trace)
What is the actual behavior?
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.2.0]
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8]
IDE and version : [e.g. Visual Studio 16.3]

It feels like ManagedIdentity bootstrapping is failing in multithreading scenarios.
public sealed class MyGrpcService : MyGrpcServiceBase
{
    public override async Task<MyMethodResponse> MyMethodAsync(
          MyMethodRequest request,
          ServerCallContext context)
    {
          return  await CallInternalMethodAsync(...).ConfigureAwait(false);
    }
}

private async Task<MyMethodResponse>CallInternalMethodAsync(...)
{
     // Failure happens here
     // Retrieve KeyVault secret with either code snippet 1 or 2.
    //  Our AKS cluster was configured to use managed identity
}

Thank you for your feedback.  Tagging and routing to the team members best able to assist.

Hi @sunkararp -
Would you mind providing the logging output after reproducing this with logging enabled on the credential?

We use ManagedIdentity heavily in our AKS cluster, to name few ServiceBus and Storage
We are not blocking metadata entry point <IP_ADDRESS>/32
This is what we see in our aks logs

ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.
 ---> System.AggregateException: Multiple exceptions were encountered while attempting to authenticate. (EnvironmentCredential authentication unavailable. Environment variables are not fully configured.) (ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.) (Operating system Linux 5.4.0-1055-azure #57~18.04.1-Ubuntu SMP Fri Jul 16 19:40:19 UTC 2021 isn't supported.) (Stored credentials not found. Need to authenticate user in VSCode Azure Account.) (Azure CLI not installed) (PowerShell is not installed.)

---> (Inner Exception #1) Azure.Identity.CredentialUnavailableException: ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.

Is the first token request always on startup?
There is a workaround pod example which waits for the IMDS endpoint to become available at startup. You can find it here
We also made a change to how the Managed Identity endpoint is initialized in 1.5.0-beta.4 - would you be able to try if it reproduces with that newest pre-release version?

No, we cannot work with beta version because of security and compliance policy. When will this become release candidate?

Is the first token request always on startup?

As mentioned in my original bug report, since fetching KeyVault is failing we found following ugly workaround...

Try to retrieve a non-existing secret from the KeyVault in the service Startup.cs code; we know this will fail
Later during the client call execution, we will retrieve actual secret
Without the step 1, the step 2 will fail

No, we cannot work with beta version because of security and compliance policy. When will this become release candidate?

There is no distinction between release candidate and pre-release. It will become a released version next month.

As mentioned in my original bug report, since fetching KeyVault is failing we found following ugly workaround...

Try to retrieve a non-existing secret from the KeyVault in the service Startup.cs code; we know this will fail
Later during the client call execution, we will retrieve actual secret
Without the step 1, the step 2 will fail

Could you please provide logging of this scenario (not aks logs, but the Credential ETW logs as mentioned in my first response)?

Could you please provide logging of this scenario (not aks logs, but the Credential ETW logs as mentioned in my first response)?

Can you provide steps to collect Credential ETW logs in AKS?

Please see this example: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/README.md#logging


If a class has no default constructor, try to force access to a non-p…

…ublic no-arg-constructor before using objenesis to create an instance.
This allows excluded fields of classes with no default constructor to be initialized with their default value (fixes #246).

Coverage increased (+0.01%) to 90.773% when pulling 8a0cc071199def3fb4b0f48ec64d9dce5e1b2c0b on PascalSchumacher:#246_call_non_public_constructor_to_allow_initalizing_of_excluded_field into c469e992f009891214a32c2b149c880a9f082702 on benas:master.


Boot function won't  override if using 'use'

I'm new to Adonis so not 100% sure if I'm doing something wrong but I stumble upon this problem.
I've written a custom model class, to introduce new functions shared beetwen my models, but doing so the boot function within my models stopped been called. After some debugging I tried changing use for require solving the problem.
If this isn't a bug how do I know when to use use and require
Package version
4.1.0
Node.js and npm version
8.11.1 and 5.6.0
Sample Code (to reproduce the issue)
//right output
//const Model = require('../Core/Model')

// wrong output
const Model = use('App/Core/Model')

Run adonis serve --dev, it should log custom model call then user call
Comment the use statementin App/Models/User
Uncomment the require statementin App/Models/User
Save. Logs correctly.

Demo Repo
https://github.com/guiquintelas/adonis-bug

I'm also new to adonis, so I'm not sure if I'm also doing it wrong, but I'm having an issue similar to this one. This is the code I have:
'use strict'

const User = use('App/Models/User')
const Role = use('Role')

class Admin extends User {
  static boot () {
    super.boot()

    this.addHook('beforeCreate', async (instance) => {
      try {
        console.log('beforeCreate')
        const admin = await Role.pair('slug', 'administrator')
        instance.roles().attach([admin.id])
      } catch (e) {}
    })
  }

  static get table () {
    return 'users'
  }
}

module.exports = Admin

And the console.log('beforeCreate') is not being called, but the static method boot from App/Models/User is being called.

Ok, @guiquintelas I found this issue wich is also related to this one https://github.com/adonisjs/adonis-lucid/issues/274 and seems like boot doesn't work on nested inherance.

@gabrielperales using require works fine, but i'm not sure if it's the best practice

Closing since not actionable


Continuous error in logs with cache-manager 2.9.1: TypeError: work is not a function

Nodejs 10.16.0
NPM 6.9.0
OS: Ubuntu 16.04LTS
After upgrading cache-manager to 2.9.1 from 2.6.0, the following error is coming in logs:
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
TypeError: work is not a function
at onResult (/mnt/pd1/shopalyst/privatebeta-core/mira-nodejs/node_modules/cache-manager/lib/caching.js:196:20)
at process._tickCallback (internal/process/next_tick.js:61:11)
I use cache-manager in a nodejs server side app.

Sorry for the delay.  I hope you were able to figure this out.  If not, then can you supply more info about how you're using cache-manager?

Hello. I could reproduce it on latest version as well. I noticed that it happen when I use wrap with a TTL. When I remvoe it, the module works as expected.
To reproduce:

const cacheManager = require("cache-manager");
const memoryCache = cacheManager.caching({store: 'memory', max: 200, ttl: 60 });

const item = memoryCache.wrap(JSON.stringify(q), function () {
    return Promise.resolve(1);
}, 60); // <= when TTL is provided, the error triggers. Remove the TTL and the module works as expected.

The fix for this is to pass the ttl like this: {ttl: 60}.  I added a test in the develop branch to show that this works: https://github.com/BryanDonovan/node-cache-manager/commit/45b1ce00ae27d4a2a09776170e484ef0f8e85f52#diff-4a20e938ab2b17c80738ff5ba5ca036dR1482

Ha indeed, thank you. I overlooked the README here and based myself on the README of Mongodb store, my bad.
Thanks for pointing it out :bow:

No problem!  I think node-cache-manager may have accepted a number instead of an object for the ttl at one point, so I wasn't sure myself.


Value cannot be null exception

Hi, there is a null reference exception in the part where it generates the IL code.
Here is the full error:
System.ArgumentNullException: Value cannot be null. (Parameter 'parameter')
at Mono.Cecil.Cil.Instruction.Create(OpCode opcode, ParameterDefinition parameter)
at Cpp2IL.Analysis.ResultModels.LocalDefinition.GetILToLoad(MethodAnalysis context, ILProcessor processor)
at Cpp2IL.Analysis.Actions.Important.FieldToLocalAction.ToILInstructions(MethodAnalysis context, ILProcessor processor)
at Cpp2IL.Analysis.AsmDumper.AnalyzeMethod(StringBuilder typeDump, List`1& allUsedMnemonics)
The game is Among Us.

Thank you, will investigate.

Ok I've been through Among Us and cleaned out most of the unhandled exceptions (I've been developing against a very simple, 64-bit assembly for the last week or two, so some of the new features I implemented broke when they encountered among us, which is 32-bit).
Changes are in 8fd256a if you're curious.
There's still one type (RewiredStandaloneInputModule) which is causing issues, on account of the fact it uses a generic constructor which can't be found, but everything else at least isn't spitting errors out. YMMV on how useful you actually find the generated IL, though - it's still in an early stage.


[lakeFSFS] Cache getRepository

lakeFSFS calls getRepository once for each initialized LakeFSFileSystem. This is wasteful as these brilliant measurements appear to show.
There is no real need ever to call getRepository more than once, except that if a repository is deleted while working on it it may produce a slightly clearer error message. So:

Cache the result of the call. It's a cheap way of saving several seconds off the benchmark test.

This is worth doing and actually by now it is not a big deal!

This is actually implemented: getFSForConfig is called repeatedly but caches.


operator_util: Handle pullspecs in annotations

OSBS-8712

Extra source of pullspecs found: metadata.annotations.containerImage
Make sure OperatorCSV finds and replaces this pullspec as well
Maintainers will complete the following section:

[x] Commit messages are descriptive enough
[x] "Signed-off-by:" line is present in each commit
[x] Code coverage from testing does not decrease and new code is covered
[x] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request includes link to an osbs-docs PR for user documentation updates
[x] New feature can be disabled from a configuration file

No release notes needed, expected behavior for not-yet-released pin_operator_digest plugin


issue with SSL and attribute error in  execute_program_in_vm.py

Hi,
I tried to use the script but faced the ssl certificate issue as mentioned in the "python ssl error while trying getallvms.py #359   " and I tested with replacing the function as solution mentioned by @ldfsilva
service_instance = connect.SmartConnectNoSSL(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
But then further I faced was the attribute error
Traceback (most recent call last):
File "execute_program_in_vm.py", line 122, in
main()
File "execute_program_in_vm.py", line 88, in main
tools_status = vm.guest.toolsStatus
AttributeError: 'NoneType' object has no attribute 'guest'
I am wondering if there has been updates to the api or my changes or usage is incorrect.
thanks

If the VM is None then it couldn't be found. Double-check the UUID you're entering into the script matches the VM you're testing with.

UUID seems right. Here are outputs and command i used:
Output from getallvms.py
('Name       : ', 'Ubuntu')
('Template   : ', False)
('Path       : ', '[datastore1] Ubuntu/Ubuntu.vmx')
('Guest      : ', 'Ubuntu Linux (64-bit)')
('Instance UUID : ', '5239d7f0-3e96-c59b-3851-8da3d345792f')
('Bios UUID     : ', '564d8205-d2e3-1937-b46c-a83abe23ef7e')
('State      : ', 'poweredOn')
('VMware-tools: ', 'toolsOk')
('IP         : ', '<IP_ADDRESS>')
executing command in that vm:
python execute_program_in_vm.py -s <IP_ADDRESS> -u username -p password -v 5239d7f0-3e96-c59b-3851-8da3d345792f -r ubuntu -w ubuntu -l "/bin/touch" -f "newfilesomepyv"
Traceback (most recent call last):
File "execute_program_in_vm.py", line 122, in
main()
File "execute_program_in_vm.py", line 88, in main
tools_status = vm.guest.toolsStatus
AttributeError: 'NoneType' object has no attribute 'guest'
thanks

@thinksabin take a look at PR https://github.com/vmware/pyvmomi-community-samples/pull/370 it fixes the issue.
From your previous comment I understood that even after you have corrected the SSL issue based on https://github.com/vmware/pyvmomi-community-samples/issues/359 you still had issues, right?!
After reproducing your steps I got the same error that you got and I noticed that the cause was really because the VM was not found. The way that the script is set it will actually look for the VM BIOS UUID and not for the VM Instance UUID. A better explanation can be found at SearchIndex[1] documentation. If you have to search VM by instance UUID some adjustments have to made to the script:
I hope it helps..
Look for this section at the doc:
instanceUuid (bool, optional, since vSphere API 4.0 ):
Should only be set when vmSearch is true. If specified, search for virtual machines whose instance UUID matches the given uuid. Otherwise, search for virtual machines whose BIOS UUID matches the given uuid.
[1] SearchIndex doc - https://github.com/vmware/pyvmomi/blob/master/docs/vim/SearchIndex.rst

thanks @ldfsilva . Your comment did help. BIOS UUID worked.
thanks again.


H1 for article titles should be replaced by H2

This way there's only one H1 on the page. The SEO score is lowered by having multiple H1.

You're right, if the requested changes from this PR are made, I can merge it and this could be fixed.

#199

It's already merged it ;)


ITHC Secure S3 buckets

User Story
As a modernisation platform engineer
I want to apply further security settings to some of my S3 buckets
So that all of our S3 buckets have the same security posture
Value
Our IT Healthcheck identified some points of configuration that could be adjusted to improve our security posture. Some of our S3 buckets need adjusting to bring their security settings into a consolidated approach. The specific buckets and their requirements are documented in our IT Healtheck report. The only recommendation we are not going to take forward is the requirement for MFA required for bucket delete.
Questions / Assumptions
See ITHC report in google drive for specific buckets related to listed issues
Definition of done

[x] Bucket Access Logging implemented where missing
[ ] HTTPS Enforced in bucket policy where missing
[x] Encryption Enabled where missing
[ ] Bucket versioning enabled where missing
[ ] tests are green

Reference
How to write good user stories
ITHC Report

The S3 bucket aws-athena-query-results-946070829339-eu-west-2 in the Modernisation Platform account is not managed by terraform. It was manually created and the kind of data it stores do not require encryption. Therefore, we decided to ignore the warning

.

Same as the above applies for the bucket versioning warning:

Same as the above applies for the HTTPS enforced warning:

Our S3 bucket module (https://github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket) complies with all the security practices suggested by the above warnings. In particular:

Bucket Access Logging implemented where missing: Refer to log_bucket and log_prefix parameters in https://github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket/blob/main/main.tf#L81
HTTPS Enforced in bucket policy where missing: This warning only occurred for a manually created S3 bucket. None of the S3 buckets created through terraform reported such warning. Therefore, our S3 bucket module enforces HTTPS by default.
Encryption Enabled where missing: Refer to the custom_kms_key and custom_replication_kms_key parameters in https://github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket
Bucket versioning enabled where missing: Refer to versioning_enabled parameter in https://github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket


utf8 problems

It seems that either ueberDB should create MySQL databases that are utf8, or it should more gracefully handle utf8 input.
By default, ueberDB creates tables with latin1 encoding and latin1_bin collation. If I give etherpad-lite a non-latin pad name, etherpad-lite dies with this error:
Error: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation '='
    at Function._packetToUserObject (/srv/etherpad-lite/node_modules/ueberDB/node_modules/mysql/lib/client.js:387:11)
    at Query._handlePacket (/srv/etherpad-lite/node_modules/ueberDB/node_modules/mysql/lib/query.js:33:33)
    at Client._handlePacket (/srv/etherpad-lite/node_modules/ueberDB/node_modules/mysql/lib/client.js:312:14)
    at Parser.<anonymous> (native)
    at Parser.emit (events.js:67:17)
    at /srv/etherpad-lite/node_modules/ueberDB/node_modules/mysql/lib/parser.js:71:14
    at Parser.write (/srv/etherpad-lite/node_modules/ueberDB/node_modules/mysql/lib/parser.js:576:7)
    at Socket.<anonymous> (native)
    at Socket.emit (events.js:67:17)
    at TCP.onread (net.js:347:14)

Running this fixed the problem:
ALTER DATABASE `etherpad-lite` CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE `store` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

Problem is that such an alter command takes days on large databases

//cc @johnyma22


Allow infilling when target areas already have some required activities within them

Fixes #47
Focus is only on point 1 of #47.
Rather than set a binary flag to allow / disallow infilling in already occupied areas, I've made it a threshold fraction. This is based on percentage area occupied and has required me to expand any point activities to polygons. I chose to use the same sizing as would be used for infilling to approximate polygons for these points. Would be good to get an opinion on whether there is a better approach.
Checklist
Any checks which are not relevant to the PR can be pre-checked by the PR creator.
All others should be checked by the reviewer(s).
You can add extra checklist items here if required by the PR.

[ ] CHANGELOG updated
[ ] Tests added to cover contribution
[ ] Documentation updated

Codecov Report
Attention: Patch coverage is 97.22222% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 83.74%. Comparing base (dc4eb54) to head (1eb198e).

Files
Patch %
Lines

src/osmox/build.py
96.66%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@                    Coverage Diff                     @@
##           add-infill-from-points      #49      +/-   ##
==========================================================
+ Coverage                   82.87%   83.74%   +0.86%
==========================================================
  Files                           5        5
  Lines                         508      529      +21
  Branches                      123      130       +7
==========================================================
+ Hits                          421      443      +22
+ Misses                         61       60       -1
  Partials                       26       26

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

Yeah this is nice - a good way to limit how many areas will be affected. Though I think from a user perspective, you are more likely to be a bit more binary in your desire for infilling. A likely scenario for a study area might be that you have say the TE region, but want to infill a local area to real levels. An ability to point this method to a boundary file and say outside the study area use the method for just infilling completely empty areas, and then within the boundary infill all landuse up to the levels of the reference dataset (regardless of what % completion each area is in relation to the reference dataset)

This is independent of trying to meet a specific regional target and I think even if you had that target you wouldn't want to attempt to infill areas that already have 90% of the residential landuse filled with relevant activities, so a threshold for infilling would still be a good idea.

This is independent of trying to meet a specific regional target and I think even if you had that target you wouldn't want to attempt to infill areas that already have 90% of the residential landuse filled with relevant activities, so a threshold for infilling would still be a good idea.

Yeah I guess when enabling regional targets it would be useful to specify different thresholds for a study area vs outside study area.

Added similar images as in #46 .


Custom Hotbar Integration

As a player, I want to use a second hotbar to show the token's macros.
The former Token Hotbar could be used together with Custom Hotbar. This can be used again to use a second hotbar for the Token Hotbar.

Support added in v1.2.0


[REF-672] Write blog post describing architecture

It would be useful to have a blog post explaining the architecture of Pynecone so people can understand the basics.
REF-672

https://reflex.dev/blog/2024-03-21-reflex-architecture/


Removed staled docker artifacts on GCE minions.

Fix #2411
Eventually we can move this to our image, but not now. cc/ @thockin @ArtfulCoder

Is there a reason to inject this here (where we mostly set environment variables) rather than in the scripts that are bundled onto the nodes automatically (e.g. https://github.com/GoogleCloudPlatform/kubernetes/blob/master/cluster/gce/templates/common.sh)? As it is, it seems like we'll need to do some copy/pasting of this fix for other similar cloud providers.

The only reason is that common.sh is invoked for both master and minion nodes, but I only want to change minion nodes here. cc/ @ArtfulCoder on if we really need this for flannel case for etcd_server as pod? Otherwise, I could even push this to containervm image eventually.

Can I punt on this review - I am buried and I don't feel like i have current context on the scripts.
@roberthbailey can you take it?

Yes, I'll take a closer look this afternoon.

I am taking a look to see if minion can just start the docker bridge with name docker0, instead of cbr0.


sense-aws stitching fabric issue

fabric is the producer issue happens with both available sense-aws stitch ports. (agg4.ashb.net.internet2.edu and agg3.ashb.net.internet2.edu)
2023-06-07 10:19:08,205 [fabric_network.py:212] [INFO] Creating Facility Port:Labels: { ipv4_subnet: <IP_ADDRESS>/30, local_name: HundredGigE0/0/0/7, device_name: agg4.ashb.net.internet2.edu}
2023-06-07 10:19:08,205 [fabric_network.py:213] [INFO] Creating Facility Port:PeerLabels: { ipv4_subnet: <IP_ADDRESS>/30, asn: 64512, bgp_key: 0xzsEwC7xk6c1fK_h.xHyAdx, account_id:<PHONE_NUMBER>79}
2023-06-07 10:19:40,474 [controller.py:142] [ERROR] Slice Exception: Slice Name: aes-sense-aws, Slice ID: 4f0f66f8-ea79-490a-86e6-123576bd4838: Slice Exception: Slice Name: aes-sense-aws, Slice ID: 4f0f66f8-ea79-490a-86e6-123576bd4838: Node: fabric_node0, Site: RENC, State: Closed, Insufficient resources: No candidates nodes found to serve res: #cb144b5c-c598-4883-a3e0-9300b1c3fbb6 slice: [aes-sense-aws(4f0f66f8-ea79-490a-86e6-123576bd4838<EMAIL_ADDRESS>state:[Nascent,Ticketing] #
Slice Exception: Slice Name: aes-sense-aws, Slice ID: 4f0f66f8-ea79-490a-86e6-123576bd4838: Slice Exception: Slice Name: aes-sense-aws, Slice ID: 4f0f66f8-ea79-490a-86e6-123576bd4838: Node: fabric_node0, Site: RENC, State: Closed, Insufficient resources: No candidates nodes found to serve res: #cb144b5c-c598-4883-a3e0-9300b1c3fbb6 slice: [aes-sense-aws(4f0f66f8-ea79-490a-86e6-123576bd4838<EMAIL_ADDRESS>state:[Nascent,Ticketing] #

@xi-yang
I keep getting this error when testing sense aws stitching.

Cloud-Facility-AWS instead of Cloud_Facility_AWS  did the trick.
fabrictestbed-extensions==1.5.0
site=RENC
device_name=agg4.ashb.net.internet2.edu
local_name=HundredGigE0/0/0/7


merge package from arlac77/npm-package-template-esm-only

.travis.yml

chore(travis): remove node versions 11.9.0
chore(travis): add node versions 11.10.0

Codecov Report

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

@@           Coverage Diff           @@
##           master     #470   +/-   ##
=======================================
  Coverage   74.36%   74.36%
=======================================
  Files           2        2
  Lines         476      476
=======================================
  Hits          354      354
  Misses        122      122

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 93d5dc9...9a901b7. Read the comment docs.

Coverage remained the same at 71.972% when pulling 9a901b7c6292bd64a85383de5107b16e5d23f798 on template-sync-1 into 93d5dc9da18f35d92e0ddb486f457f9877dc5400 on master.

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add information about updating the documentation

Major code changes may require updates or changes of the documentation on readthedocs, so that this stays in line with the code.
Therefore, we need information in the README on how update the docs, and also when to update it (change on main? change on develop?).
@auraoupa , are you able to provide this information, and potentially access to readthedocs, if needed?

readthedocs documentation is managed on the docs branch and in the docs repo, that is why when you click on "Edit on github" it will bring you there. Modifying the docs branch will then trigger the building, and you are able to see the outcome here : https://readthedocs.org/projects/nextsim-dg/builds/
Also there is an automatic documentation built with doxygen that is managed with a github workflow and is visible here : https://nextsimhub.github.io/nextsimdg/index.html
I will modify soon the README to mention all of this in the front page

Done in #445

@auraoupa , do you have any instructions on how to build the readthedocs docs locally? Or even the doxygen?

Theoretically it should be possible but I've never done it, because of all the automation that is hidden in readthedoc and the automatic doxygen run that we do in this github workflow
The documentation is developped in the docs branch so it is easy to reverse a wrong manipulation, but the output will change live which is not great for sure.
@stephanieleroux do you have more insights on this matter ?

Also is it possible to build the documentation for two branches (via readthedocs) i.e., main and develop instead of just main.

Actually it is synchronized with the docs branch not main and I could not find a way to synchronize with multiple branches when I looked for it. That is why I rebase the docs branch from develop from time to time


kgl-stb: cstb.stbi_load and STBImage.load both crash on Windows 10

Error code -1073741819. Googling this suggests a file system error, but I have no idea. Trying any of the suggested fixes yields no results.
I've copied the entire stb_image.h into a cinterop def with the following headings, and it works fine, but using kgl-stb makes it crash:
excludedFunctions = stbi__err
compilerOpts = -DSTB_IMAGE_IMPLEMENTATION

At first glance, it looks like a static linking issue. Will have to setup some unit tests to investigate.
This flag -DSTB_IMAGE_IMPLEMENTATION is a very tempting solution but my issue with it, is that it leaks the internals of stb_image to the kotlin cinterop. Maybe it's not a big deal since it's abstracted away by kgl, what do you think?

The error occurs at runtime, if that helps.
Currently I only use the cinterop functions because there's still no reasonable way to get a ByteArray from a kotlin native function. You always have to work with IoBuffers, or Memory objects, or some other format that at its core is just a ByteArray, which usually requires figuring out how to create the structure (which has been a nightmare in my experience because of lacking documentation), and then figuring out how to get the Bytes you need out so you can work with them.
There's still no stdlib IO that allows you to read bytes from a file into a ByteArray, and I'm annoyed about it :frowning_face:
With regard to the STB_IMAGE_IMPLEMENTATION define, kgl-stb already does this, but in a more roundabout way with a cpp file. The definitions are still accessible in the cstb package, and the define is not a solution to whatever problem I'm having with Windows 10

This should simplify things. https://github.com/JetBrains/kotlin-native/pull/3971


Remove user ID prompt

its annoying pls xd

Reason this was included originally was to fulfil setting game activity for when you're outside of studio and playing a game, but I gave up on this project before that ever happened, an implementation of that would be even sweeter but if not I'll merge this once you remove the code.

oh, i can do it <3, will work on it tomorrow.

i rewrote the backend if that's fine by you xD (you can revert if u dont like it)
I haven't got time to work on the roblox API presence thingy cuz I was out of town, will work on it tmr :)

Since Rigid did not push the changes I did it myself.
UserID prompt is now removed.


Added codecov yaml

Added codecov yaml to include tests directories from code coverage reports.
Signed-off-by: Mykhailo Kuchma<EMAIL_ADDRESS>

Commit message is too long and it should be "exclude" instead of "include"!

Also, ticket is missing.


Feature tests for minimum APIs needed by user's browser

Changes
I created a utility module that has methods which can be used to check for browser support of the APIs in question. Please note that I just did checks for window level objects and methods, and didn't go too far into the inner workings of those APIs to make sure I could instantiate those interfaces or anything. Let me know if I need to dive deeper and I can.
I also tweaked the notification show method. I needed to make a version of the modal without buttons and the ability to add another parameter and the arguments were getting pretty crowded. I hope you don't mind! I can always find another approach if need be, I just felt this was the cleanest and since it is only used in a couple of spots I felt like it was a good improvement to make now versus later. 😅
Fixes: https://github.com/getify/youperiod.app/issues/58
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] This change requires a documentation update

I was on the fence on whether or not to update SPECS.md since browser-support.js is really only going to be used for this one piece.
Checklist

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings

@getify Changes have been pushed!


rollback update for commit '064ad1e'

Related to the issue #23

Coverage decreased (-0.3%) to 73.684% when pulling 12c7d80ae9404fe55bc325d4bbf9bf2dad9668e8 on rollback-unicode-filename into 72f6a1de98eeec701bf5773c3bb60d753df5624c on master.

Coverage decreased (-0.3%) to 73.684% when pulling fc6325b2586d70cea01a576e0cae5dd299460ac7 on rollback-unicode-filename into 72f6a1de98eeec701bf5773c3bb60d753df5624c on master.

Coverage decreased (-0.3%) to 73.684% when pulling b5889305cf9e2ea5644c01ae68aa0f654153841b on rollback-unicode-filename into 72f6a1de98eeec701bf5773c3bb60d753df5624c on master.


[Frontend] Support for transforms

Context: Allow PL transforms to be traced in Catalyst
Description of the Change: These changes are implemented on top of the tape-transform PR in Catalyst and the development version of PL. These changes apply transforms that are stored on the device into the tape, potentially generating many tapes. Then each tape is traced individually. At last, the classical co-transform is also traced.
TODO:

[ ] These changes do not include yet the "one function per tape" invariant.
[ ] Nested transforms

Benefits: Catalyst support for PL transforms.
[sc-41344]

@rmoyard since this depends on the main branch of PL and we currently have a undiscovered bug when integrating with the main branch of PL, I'll leave this for now.

Nice work @erick-xanadu! Just a few flyby questions/comments

Don't forget to add the changelog entry!

Don't forget to also update this section of the docs: https://docs.pennylane.ai/projects/catalyst/en/latest/dev/sharp_bits.html#compatibility-with-pennylane-transforms

I'm curious if everything still works if Autograph is turned on?

I'm curious if everything still works if Autograph is turned on?

Transforms are restricted to straight-line programs so I don't think autograph would make much sense here.


Preserve order when generating TypeScript definitions

Currently each time the CLI is executed, the TypeScript definitions come out the same, which is correct, but the order of the definitions is not kept constant.
I'd like to propose some type of ordering which keeps the generated file the same, unless some of the definitions actually changed.
Config used when testing this:
schema: "http://localhost:8080/graphql"
documents: "src/**/*.{ts,tsx}"
generates:
  src/gql-types.ts:
    plugins:
      - "typescript"
      - "typescript-operations"
config:
 skipTypename: true
 declarationKind: 'interface'```

@bitshiftza I believe I'm also experiencing this issue. Right now my generated types file is in source control so I'm committing those changes every time I make changes.
Someone had suggested gitignoring the generated types file and then running the graphql-codegen command as part of the build command
How are you getting around it right now?

Could you try with the alpha versions here;
https://github.com/dotansimha/graphql-code-generator/pull/5982#issuecomment-838547015

Closing. If someone is still experiencing it, please refer to @ardatan 's reply


[Windows] Added Batch file equivalent of wasm_pack_cmd

I added a Batch file that will be used instead of wasm_pack_cmd when node is run on windows.
I dont know if this breaks anything, but i think it'll be alright for now.

Previously this resulted in an error, since command files require the bat extension to be run, and the exec command doesn't exist in windows

Now it seems to work as expected:

sorry for my delay reply. I will check today evening if everything is fine I will merge

@DRKSLV it is merged! thanks for the PR

:) thank you!!


Update to Cadence v0.36.0

Description
Automatically update to:

onflow/cadence v0.36.0
onflow/flow-go-sdk v0.35.0
onflow/flow-go 540256588e78
onflow/flow-emulator v0.45.0
onflow/cadence-tools/test v0.5.0
onflow/cadence-tools/lint v0.5.0
onflow/cadence-tools/languageserver v0.8.0

@turbolent I will fix the security build, it's nothing critical, I have it on my todo as soon as I finish some other work. Thank you for flagging. We should be careful when this CI fails.


[Draft] Improvements

Remove useless echo flags and use read's -p flag where a combination of echo and read were previously used (empty echos are still used around reads to make newlines)
Read commands for passwords now use the -r flag to prevent backslash escapes from being interpreted
Get rid of useless elif in 1-setup.sh by separating patterns with a "|"
Moved subvolume names to an array and put subvolume creation/mounting/mkdir commands inside loops that use it
Shorten sed expressions that add/remove comments

's/^<pattern>/# <pattern>/ to 's/^<pattern>/# &/
s/^#<pattern>/<pattern>/ to /<pattern>/s/^#//

Minor typo fixes
Make disk formatting warning red and bold to be more obvious
Remove trailing whitespaces
Change any if/while/loop statements with the then/do on the line below to be on the same line, separated with a colon to reduce vertical space

(Draft since I haven't tested it)

convert to draft first, pls


build: Create m4 directory to avoid warning

Create the m4 directory to avoid aclocal complaining that it
doesn't exist.
Fixes #66.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

lgtm


BIC-243 # Save draft functionality shouldnt check for errors

removed error checking from save draft function
added tests

You accidentally versioned the npm.log file. :)

The rest of it looks okay to me, once you rebase out the npm.log file (or otherwise remove it).


Fixing issue #2982

[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Closes #2982

Thanks @natalya-patrikeeva, this is in. Also, I noticed this was your first contribution to this repository. Welcome!


toybox: find: Fix segfault when using -iname/-ipath with -exec

iname/ipath use the argdata list to store names (type char*) on the initial
argument parsing pass and then use these on subsequent passes with entries
returned from dirtree_flagread.  exec/execdir also use the argdata list to
store its arguments (type struct exec_range*).  Thus, it is imperative that
each value pushed onto the list be popped in exactly the same order.
Failure to do this results in pointers from the list being cast to an
incorrect type and segfaults ensue.
During subsequent passes when using an "or" predicate, the current code in
iname/ipath fails to pop the same values that it pushed when the LHS
evaluates to true.  This is because the "or" code sets active==0 which then
sets check==0 when evaluating the RHS, and the RHS name is not popped.
Subsequent usage of "exec" will try to pop this value as an argument list
and segfault.
This could be fixed by making usage of argdata consistent in iname/ipath.
However, it does not appear necessary to use argdata at all.  So remove
it.  This avoids the segfault and also avoids unnecessary heap allocs.
Change-Id: Icb171b90a60bc6cf5629f87ed5966b4d26e22b28

This is broken.  Need to redo.


Java: Implement Example32_StreamingCompletions

Streaming is not being implemented in Java SK for V1.0, we may revisit and support streaming in a later version.

Streaming is not being implemented in Java SK for V1.0, we may revisit and support streaming in a later version.


select image controls are not showing on iOS

Hi,
Am using this on iOS 10.2 and ins 2.5. it works great on android but on iOS it's not showing any controls  to select images. I mean I can see the images and albums and on selecting one image the image is highlighted but selected promise is not returned! this is on emulator and device. I use code from your examples and it's for single selection of images.
I noticed the following message in the logs:
CONSOLE LOG file:///app/tns_modules/tns-core-modules/globals/globals.js:119:20: UIImagePickerControllerDelegateImpl is deprecated
CONSOLE LOG file:///app/tns_modules/tns-core-modules/globals/globals.js:119:20: UIImagePickerControllerDelegateImpl is deprecated

Also check attached

Hi @cutout33,
If I understand you correctly, you have an issue with receiving the data for the selected images.
I have tested the case with sample-ImageUpload project and it seems to work as expected on iOS.
Could you review the sample app here and verify, whether you will have the same problem.
You could also verify, whether you are using the latest version 2.5.1 of nativescript-imagepicker plugin.

Thank you for the response. I just found out the I've used the following code in my app which caused the problem:
var frameModule = require("ui/frame");
frameModule.topmost().ios.navBarVisibility = "never";

Thanks


wire xmltools gen targets into our cmake build system

Description
wire xmltools gen targets into our cmake build system
allow easier wielding of our xml tools to regen sources
document cases where we can't use code gen
Type of change
Please select one below (Please click check boxes AFTER submitting ticket)

[ ] Bug fix
[x] New feature
[ ] New Documentation
[ ] Other (please describe below)

This is a WIP

This is ready for review.

for the database plugins -- I needed to re-run the code gen tools to make sure the cmake function that wires up the code-gen tools is correctly inserted post gen. That is why there are lots of changes for the CMakeLists.txt files for our plugins

General question. I'm trying out the PR on windows.  I was actually surprised that the codegen is ON by default. Is that the design or did I just miss some flag to turn it all off?  There are some changes needed to get this working on Windows. I'm working on that now.  Also, it would be great if all the codegen targets were in folders (maybe a toplevel 'codegen' folder, then 'codegen_cpp', 'codgen_cmake', etc underneath that).  Cleans up the VS interface quite a bit. I will see where this can be added once I figure out the best folder structure for them.

I can do a quick check for the overhead by timing configure for develop vs configure for this branch to inform if we should be concerned. If it all possible I think having them on by default is the best path. Each option off by default becomes a barrier to use. (pseudo related to my thinking for  https://github.com/visit-dav/visit/issues/4118)
@biagas thanks for the cases on windows that I overlooked. What do you think the best near term path is?
My goal is to be able to use these to help me support the changes for python code gen.

For the short term, I think disable it completely on Windows since the code generation unnecessarily modifies files by adding windows-style line endings. I can then work separately on fixing the problems on Windows.
I do think, however, that a flag to turn off this codegen is absolutely necessary.  Custom targets are always considered out-of-date by cmake, so are always re-built with each make.  That's a lot of unnecessary regeneration during a development cycle.
We might want to consider adding the EXCLUDE_FROM_ALL and/or EXCLUDE_FROM_DEFAULT_BUILD target properties flags.  That way the targets are created, but not built by default.

Ok, I think i did this correctly with respect to not always being on.
I do not use the ALLoption to add_custom_target when creating the targets.
ALL
Indicate that this target should be added to the default build target so that it will be run every time (the command cannot be called ALL).

@biagas I added a case for windows when refactoring the macros.
what I think is still pending:
test configure time difference and add option to skip targets

reviewing my email and I am a bit confused:
for @biagas ' comment that starts with:

I was actually surprised that the codegen is ON by default.
Seems this was edited by mark?

From email I see more text:
General question. I'm trying out the PR on windows. I was actually surprised that the codegen is ON by default. Is that the design or did I just miss some flag to turn it all off? There are some changes needed to get this working on Windows. I'm working on that now. Also, it would be great if all the codegen targets were in folders (maybe a toplevel 'codegen' folder, then 'codegen_cpp', 'codgen_cmake', etc underneath that). Cleans up the VS interface quite a bit. I will see where this can be added once I figure out the best folder structure for them.
I say this b/c I totally missed the idea bout adding the code gen folder until I reviewed my email.

Ok, Using Cyrus' email here, I went back and adjusted the comment so that this text is again there.
But, to leave things in basically the same order, I also left my edits as a sub-block later in the same comment.
Mark
"Cyrus Harrison" wrote:
reviewing my email and I am a bit confused:
for @biagashttps://github.com/biagas ' comment that starts with:
I was actually surprised that the codegen is ON by default.
Seems this was edited by mark?
From email I see more text:
General question. I'm trying out the PR on windows. I was actually surprised that the codegen is ON by default. Is that the design or did I just miss some flag to turn it all off? There are some changes needed to get this working on Windows. I'm working on that now. Also, it would be great if all the codegen targets were in folders (maybe a toplevel 'codegen' folder, then 'codegen_cpp', 'codgen_cmake', etc underneath that). Cleans up the VS interface quite a bit. I will see where this can be added once I figure out the best folder structure for them.
I say this b/c I totally missed the idea bout adding the code gen folder until I reviewed my email.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/visit-dav/visit/pull/4172?email_source=notifications&email_token=ABLUUZGP6LAJIBBHXUAGAS3QYHJRTA5CNFSM4JYVT2MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGVS6LI#issuecomment-564866861, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABLUUZA76YF6GIXCYPSUMRDQYHJRTANCNFSM4JYVT2MA.

Each option off by default becomes a barrier to use

I reacted with 😕 (confusion) to this statement because I guess I thought I was seeing a general philosophical argument and would like to understand it better. Perahps, at some point when you have more time, you can elaborate.

what I think is still pending:
test configure time difference and add option to skip targets

There is a difference between configuration and generation times.  When I tried out the branch on linux, and issued the cmake command, I noticed more of a slowdown during generation, eg I saw the 'done with configure' comment and the 'done with generation' was a very long time after that.
As an aside, a found a VTK blog that hints CMake 3.11 performs much better than older versions:
https://blog.kitware.com/improving-cmakes-runtime-performance/
We may want to revisit the idea of modernizing our CMake usage. (#1636 comes to  mind)
I did notice, as well, that on linux, the gen_xx targets aren't built automatically like they are on Windows.

@biagas yes, I am going to test time to start configure past generation.
I agree generation seems to take much longer than configure.
Thanks for letting me know that the targets are auto built on windows -- that is not what I intended, we will need to explore why not using ALL doesn't work the same way on windows.
For now, I will disable these targets on windows.

@markcmiller86 perhaps we can discuss more at a future meeting?

As an aside, a found a VTK blog that hints CMake 3.11 performs much better than older versions:

If that fixes any potential performance issues then you can ignore all my comments here regarding performance.
In general, it doesn't make sense to me that CMake generation takes as long as it does even if we had thousands of targets (except maybe on file systems where many tiny files are a problem so either nfs mounts or lustre/gpfs). So, its clear to me that there is indeed a serious issue internal to CMake with generation performance and if they've fixed it, great!! 👍

Just for information for the future of the code_gen stuff on windows:  If they aren't needed for a given development cycle, then I would like an option to not even create them.  Even after we fix the problem on windows where they are part of the all-build, then they still will pollute the VS IDE and slow down initial loading considerably.  May not seem like much to you, but it honestly is frustrating.  Without parallel targets, jumped from 914 project files (without gen_xx targets)  to 2097 project files with them.

@biagas I removed the option for verbose messages and added VISIT_CREATE_XMLTOOLS_GEN_TARGETS which controls creation of the targets.
That should help.
Right now it defaults to ON, but additionally I am not adding targets at all for WIN32, given outstanding issues.
I also did some timings on my mac:
With code-gen targets on:
real	1m24.564s
user	0m57.653s
sys	0m21.719s

w/o code-gen targets on:
real	1m11.282s
user	0m52.233s
sys	0m16.828s

I would expect it to be a bit worse on HPC systems depending on the file system, but I don't think it is a huge cost.  Based on these timings, I would like to leave the default to ON (for macOS and linux)

@cyrush thanks for taking a look at performance (👍). Based on those numbers (which are somewhat surprising given my recollections), I agree....there doesn't appear to be any need to make code-gen targets conditional at least on OSX and Linux.

since windows cases are shutoff -- this shouldn't (tm) cause any windows issues and we can work to include windows later


Nicer table formatting in vignette and report_stats() output

Right now report_stats() outputs something that looks like this in the knitted vignette:

This isn't all that readable and doesn't look great. What are our options for creating more readable, side-scrollable tabular output formats in an R vignette? Perhaps @PabRod has ideas?

I think kableExtra is the package you need.

I'll need to dig into the report_stats() function for this, as that is the one outputting both the summary stats and a table. Following the logic we used for the graphics we probably want to expose those two parts separately too, do you agre @bvreede?


chore: make #where command commonly available again

bors d+
Maybe other Battery-commands should be checked as well?

bors r+
(I agree with the idea to make sure other batteries commands are included, but I'll leave that for someone else! :-))


Workshop Outline

Exercise 1

Bootstrap environment using a custom codespace and template repository
Create a simple API that returns a hardcoded list
Render the list
Search the list by making an additional request passing query params to the server
Explain how pages work
Explain how grids work

Exercise 2

Add authentication
Add a data source

Exercise 3

Deploy to AWS

Reference https://github.com/sonikro/nodejs-api-aws-terraform-gha on how to deploy

Use https://roadmap.sh/frontend to give context to where we're starting and paths that splinter off for more info
https://education.github.com/pack


There is no way to use different channels in RPC messages

The same applies to GodotSteam implementation of SteamMultiplayerPeer?


Tag releases again

If releases are tagged it is way easier for downstream users like Distros to track updates.

@levlam , I understand your discourse. But the issue here is a mere tagging of the versions you produce here. If you think it's meaningless then why changing versions at all?

Even in the latter case, it would be really hard to have two apps using TDLib on the same system simultaneously, because they will need different, conflicting TDLib versions.

This makes tagging even more important just to find the required version easily.
thanks.

If you think it's meaningless then why changing versions at all?

Versions are changed mostly based on the API they provide.


Azure SQL Database support for Memory-optimized tempdb metadata

This page says it is relevant to both SQL Server 2019 and Azure SQL Database, but I've been told by a Microsoft Architect that Memory-optimized tempdb metadata is not supported for Azure SQL Database even in compatibility level 150. If that's true, the document needs to clarify that. If it is not true and the feature is currently supported in Azure SQL Database, please let me know.
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 37fab3b5-a2f3-5612-06e2-01e0406a615d
Version Independent ID: 2daa00e0-8234-bf26-13c0-8d5200a1f4a5
Content: tempdb database - SQL Server
Content Source: docs/relational-databases/databases/tempdb-database.md
Product: sql
Technology: ****
GitHub Login: @stevestein
Microsoft Alias: sstein

@m60freeman -- Mark, thank you for your feedback.
@stevestein -- Steve, please look into this issue.

@m60freeman - apologies for the delay, and thanks for the feedback. I have an inquiry into the product team so hopefully I can get some clarification soon.

@MashaMSFT Masha, can you please work with the product team to get clarification on this question. Thank you!


Migrate to the lists.io calendaring system?

See example calendar items here: https://lists.openssf.org/g/openssf-tac/calendar

I will be researching two additional options: Eventable & AddEvent - more details to come!

note for above that you only get /calendar/ link if you are subscribed to that group

The DIY approach may be suitable here as it's inexpensive and it's not like we have to scale orders of magnitude different to current:
Providing ICS files as a one off 'download to calendar' is trivial but we want to make sure people can subscribe to a feed so they get updates when things get moved or meeting urls or documents change.    Fortunately a subscription feed is also fairly trivial, and can even be taken from github directly, for example (this is just a static ICS I took from a snapshot of the public google feed).
https://calendar.google.com/calendar/render?cid=webcal://raw.githubusercontent.com/iamamoose/gb-planning-committee/ics/basic.ics
So we could have each wg/project provide an ics file in a known location/name with their meeting details, and then folks can subscribe to the groups they want.  For people who would like all events across all groups, we could create a consolidated feed.


IOS build problem need help pls....

hii,
I am trying to use this plugin with XDK and IOS platform. But XDK can not build for IOS.
my IOS target is IOS 8
.../builds/build.2016-10-07.15-22-58.76edk0.tmp/cordova_project/platforms/ios/StressOut/Plugins/cordova-admob/CDVAdMobAds.h:31:9: fatal error: 'GoogleMobileAds/GADAdSize.h' file not found
#import <GoogleMobileAds/GADAdSize.h>

Please, could you remove the plugin and add it again? Use last version, 4.1.15.
Other versions had problems with cordova-libgoogleadmobadsin some os.

See https://github.com/appfeel/admob-google-cordova/issues/6#issuecomment-81850649
and https://github.com/appfeel/admob-google-cordova/issues/39#issuecomment-257080831
Please reopen if didn't help


ec_deployment_traffic_filter: Add new resource

Description
Adds a new resource ec_deployment_traffic_filter and modifies the
existing ec_deployment resource to add a new field traffic_filter,
where traffic filter IDs can be specified.
The patch has been split in three different commits
Add the ec_deployment_traffic_filter resource (35a28d9)
Adds the resource and makes the field include_by_default default to
false like we would in our cloud-sdk-go when not specified, rather
than a required field, like the API does.
Add traffic_filter to ec_deployment (b760a31)
The new traffic_filter is an optional field of type Set with the hash
algorithm "HashString", it's a list of unique strings which reference a
number of traffic_filtering rules.
On the implementation, there's two ways the traffic_filter rules have to
be handled.
On Creation, theres a settings field on the CreateRequest, which is
not present on the UpdateRequest, Create specifies a list of traffic
filters by ID which are added to the deployment on creation.
On Update, there's no settings field so we need to rely on the traffic
filter associations which the API present.
On Delete, there's also the challenge of deleting the existing traffic
filter associations before the deployment is Shut down.
To be able to handle the Update and Delete, handleTrafficFilterChange
is introduced which handles, the addition and the removal of items from
that traffic_filter list.
handleTrafficFilterChange checks if there's a traffic_filter change
and adds and removes associations of a deployment to a traffic filter
rule set.
Direct use of the V1 APIs without a wrapper package is necessary here
since there's no actual implementation of these APIs on the cloud-sdk-go
(yet). A follow-up PR will address this point.
Last, a hasDeploymentChange function has been created to only update
the deployment through PUT with the current state when there's a change
in any field != traffic_filter this avoids creating unnecessary no-op
plans on the backend which slow down the changes and clutter the plan
history.
Add acceptance tests for both resources (4bca40e)
Adds the integration tests which handle the CRUD of the new resource
ec_deployment_traffic_filter, the case where a deployment is assigned
new traffic_filter rules and ec_deployment_traffic_filter sweepers.
Related Issues

Resolves #48
How Has This Been Tested?

By running make testacc
Types of Changes

[x] New feature (non-breaking change which adds functionality)

make testacc result:
$ make testacc
-> Formatting Go files...
-> Formatting Terraform documentation blocks...
-> Done.
-> Running terraform acceptance tests...
=== RUN   TestAccDeployment_appsearch
=== PAUSE TestAccDeployment_appsearch
=== RUN   TestAccDeployment_basic
=== PAUSE TestAccDeployment_basic
=== RUN   TestAccDeploymentTrafficFilter_basic
=== PAUSE TestAccDeploymentTrafficFilter_basic
=== CONT  TestAccDeployment_appsearch
=== CONT  TestAccDeployment_basic
=== CONT  TestAccDeploymentTrafficFilter_basic
--- PASS: TestAccDeploymentTrafficFilter_basic (15.55s)
--- PASS: TestAccDeployment_appsearch (774.74s)
--- PASS: TestAccDeployment_basic (873.08s)
PASS
ok  	github.com/terraform-providers/terraform-provider-ec/ec/acc	874.503s

Ah! one more thing, it'd be good to add some examples :) Looking at other provider's documentations it looks like they have an example per resource :)

I was under the impression that these were going to be added to the cloud-sdk-go as APIs first, and then those APIs were going to be used here. I might be wrong, but I think we had a chat about that?
In any case, it's good practice to have consistency within the different resources, as well as having these defined as APIs with validation etc :)

I can hold the Pull Request open until the APIs have an implementation on the cloud-sdk-go, since all these APIs aren't implemented, I instead, chose to used them here. My idea was to merge this first, and then migrate over to the implemented APIs, since we're not shipping code as is and it wouldn't change anything for a user.
There's a bug on the spec which causes the 201 response to be returned as an error, so it's probably not a bad idea to update the SDK when that's fixed and when the traffic filtering APIs are implemented, or do those two separately.

I'm on the fence about having this be a subpackage for deploymentresource. I can't really think of why these functions can't be a part of deploymentresource?

I can move that a level up, I just thought I'd keep the deployment package less cluttered, since there's already a good amount of files.

Ah! one more thing, it'd be good to add some documentation with examples :) Looking at other provider's docs it looks like they have an example per resource :)

I can add the documentation and examples too.

I can't leave a comment where these functions live 😄 , but it seems like they don't need to be exported anymore?

We can make them private easily, I just forgot 🙂

Thanks for opening up the PR with the traffic filter APIs! much appreciated 🙇♀

I can move that a level up, I just thought I'd keep the deployment package less cluttered, since there's already a good amount of files.
Yeah, I wasn't too sure about that myself 🤔  But in that case it seemed to me that those should be part of the deployment package. It's not too important so I'll leave that up to you to decide :)

Ah! one more thing, what about this comment? -> https://github.com/elastic/terraform-provider-ec/pull/52#commitcomment-41925929

Ah! one more thing, it'd be good to add some documentation with examples :) Looking at other provider's docs it looks like they have an example per resource :)

Ah! I meant to create the GitHub issue that we'll be running the acceptance tests on a PR level with the current Elastic Infra CI. Much like APM and Elasticsearch do. It's a pretty good way to run the tests and tests will run automatically for Elastic employees but only run if we trigger them on external contributors, to prevent Secret leakage, and other potential issues

sounds good!


Public paths

ensure that anonymous users have access to all the parts of the UI that they should have access to. For example, curate is hidden for anonymous users. It should not be. Basically only Harvest should be hidden it seems.

done


MSTEST0019/MSTEST0022 vs. MSTEST0020/MSTEST0022

Are MSTEST0019/MSTEST0022 mutually exclusive with MSTEST0020/MSTEST0022? What is MSTest team's recommendation: ctor/Dispose or attributed methods?

Yes the rules are indeed mutually exclusive. They are all disabled by default because they are more stylistics than anything. Some teams prefer to always see a single pattern being used across all their tests.
I personally would recommend using ctor over TestInitialize (or in combination with) because it will help compiler and some other analyzers with nullability, uninitialized and other state checks. I would use the TestInitialize for anytbing requiring async and anything that could be potentially long operation. For cleaning up resources, I would prefer to always use TestCleanup because I see dispose as more technical.
@MarcoRossignoli @nohwnd what's your opinion (if any)?

It's personal and unfortunately this design predates us and can be confusing(more way to do a thing), I would use the test object instance lifecycle and init only if I need async init, ctor is not async
ctor/TestInitialize/test/dispose|disposeasync

@avivanoff I have done a quick edit of your description only to add links to the rules for reference.

Agree, it is very confusing. And personally, I prefer not to use TestInitialize/Cleanup and create test collateral right in the test methods.
This leads to the following suggestion. Since there is a new instance of test class created for every test there is not much value in having TestInitialize/Cleanup methods. More that that, there is not much value in ctor/Dispose as it will be called for every test method making it obsolete if collateral/initialization is done in the test methods themselves. I know you are working to deprecate TestContext property in favor of IOC initialization in constructor. Why not just make test methods static where the first argument is TestContext?

I hope you would be able to deliver it in MSTest v4. And I would love to get my hands on beta/preview bits when available.

@avivanoff Do you need other info or can we close this discussion ticket?


TypeError: only size-1 arrays can be converted to Python scalars

Hi, all,
When I run the training code: ./train.py -d /media/root/WDdata/dataset/kitti_lidar_vo_data/dataset -ac /data/code10/lidar-bonnetal/train/tasks/semantic/config/arch/darknet21.yaml -l /data/code10/lidar-bonnetal/train/tasks/semantic/log. I got the following error:
Lr: 9.998e-03 | Update: 3.934e-04 mean,4.035e-04 std | Epoch: [0][9563/9565] | Time 0.399 (0.539) | Data 0.097 (0.240) | Loss 0.9362 (1.5231) | acc 0.688 (0.559) | IoU 0.256 (0.173)
Lr: 9.999e-03 | Update: 7.671e-04 mean,8.116e-04 std | Epoch: [0][9564/9565] | Time 0.396 (0.539) | Data 0.094 (0.240) | Loss 1.3228 (1.5231) | acc 0.602 (0.559) | IoU 0.155 (0.173)
Best mean iou in training set so far, save model!
********************************************************************************
Traceback (most recent call last):
  File "./train.py", line 115, in <module>
    trainer.train()
  File "../../tasks/semantic/modules/trainer.py", line 259, in train
    save_scans=self.ARCH["train"]["save_scans"])
  File "../../tasks/semantic/modules/trainer.py", line 432, in validate
    color_fn)
  File "../../tasks/semantic/modules/trainer.py", line 174, in make_log_img
    depth, Trainer.get_mpl_colormap('viridis')) * mask[..., None]
TypeError: only size-1 arrays can be converted to Python scalars

It seems that something is wrong when calling cv2.applyColorMap(...) at the end of first training epoch (line174). As Trainer.get_mpl_colormap('viridis') is a np.array of shape (256,1,3), but the second argument in cv2.applyColorMap(...)  expects a scalar.
After I replace it by a scalar value as follows:
out_img = cv2.applyColorMap(depth, 2) * mask[..., None]
the training can proceed smoothly.
Any suggestion on this problem?
THX!

Hi @amiltonwong,
thanks for letting us know.
The error is caused by a wrong version of OpenCV. When you look at the requirements.txt, we expect version 4:
opencv_python==<IP_ADDRESS>
which allows to set an user defined colormap as an array (see here. But if everything else works, your change seems to make it compatible with older versions of OpenCV.


non-English system language - syntax error

https://github.com/pythonnet/pythonnet/issues/220
the issue is:
syntax error at token '.field' in: .field static assembly initonly int64

and the manual solution is:

yajiedesign commented 3 days ago
ok,I found and fixed the problem.
RGiesecke.DllExport does not support non English ILdasm generated IL file.
you can pathed RGiesecke.DllExport with ilspy fixed it
find and change "// Code" to you system language.
it in RGiesecke.DllExport.Parsing.Actions.DeleteExportAttributeParserAction.Execute

Please use pull request, because I can't reproduce this problem. I'll consider it later if you already have fixes
Are you sure that's problem with // Code comment line ? this debugged at runtime ?
Can I see .il instructions when it fail ?
to get it manually, use for example:
ildasm /quoteallnames /unicode /nobar /linenum "/out:lib.il" "lib.dll"

can you check ca1d73a with problem locale ? (see binaries from nightly builds)
probably it was solved along with latest changes ( bug #10 )
if not - please details

v1.4 changelog entry:
    * FIXED?: Probably fixed bug - `non-English system language - syntax error` Issue #7

reopen if needed


[feature request] unit tests

unit tests would be nice to make our development more error-proof.

inspiration:
https://github.com/BrainLesion/preprocessing/blob/main/tests/test_registrators.py

Can you please expand on your expectations WRT what we already have?

the tests need to run before a PR can be merged so we don't accidentally break things :)


Understand ICT support

NOTE: We tend to stray away  or tend not to publish reviews/comparisons of commercial product offerings. ISL
Brief Summary:
Describe the what, why, and how of your content idea in 2-5 sentences.
The modern world business activities performance has greatly improved. Businesses have put more emphasis on customer satisfaction that is monitored by evaluating effectiveness, efficiency, cost, and time for an activity. To better their service, businesses have adopted a couple of ways, the major one is embracing the use of technology with a number of them establishing a support department (ICT or IT department). A common task that can often be taken for granted is user support which is classified in different levels. This article will therefore discuss and classify the ICT support.
Key Takeaways:
What are the 3-5 most important things the reader should understand or be able to do after reading this article?
ICT support is mainly a routine activity performed on a daily basis. It takes a lot of time, with some situations requiring 24/7 support. The activity requires skilled staff to handle it from troubleshooting to solving the problem. The technicality of staff is based on the level of education and experience. Therefore, ICT support is handled following a certain protocol, from low to high technical levels. The levels are classified from L0 to L4. Therefore, it is important to note each level and its requirements such as education and expertise. It will guide ICT staff and other members of staff when seeking support and when provided with a response.
References:
Please list links to any published content/research that you intend to use to support/guide this article. (If none, please indicate 'N/A'.)

https://www.bmc.com/blogs/support-levels-level-1-level-2-level-3/
https://www.greycampus.com/blog/it-service-management/it-support-what-are-the-different-levels
https://tss.nmsu.edu/technical-support-center-service-level-agreement/
https://medium.com/@harshanacslab/what-is-l1-l2-and-l3-support-engineering-6e9ca20c1dbb#:~:text=They have more knowledge%2C more,which addresses the technical issues.
https://www.quora.com/What-are-the-differences-in-L1-L2-and-L3-support-of-jobs-in-software-engineering
https://itsyndicate.org/blog/what-is-l1-l2-l3-support/
http://www.greenstech.in/oracle-application-support.pdf
https://serverhealers.com/what-is-l1-l2-l3-support/

@ipitah
(apologies for the delayed response - we were meeting about articles submissions re-opening, as our program is under a process of being streamlined.)
Thank you for your topic suggestion. Per the recent message posted in our EngEd Slack channel, we are pausing acceptance of new articles until further notice while we work through the backlog of submitted drafts. We will notify you when we are ready to accept new topic suggestions. Thank you for your patience.


devicePixelRatio seems to be ignored

Describe the bug
The devicePixelRatio seems to be ignored
To Reproduce
Steps to reproduce the behavior:

Add  devicePixelRatio prop
Set any number

Expected behavior
Expecting to get some visual feedback when changing the value.
(Also needs to work when the prop changes value)
Screenshots

Right-clicking the menu will only bring up the functionality already done in the sheetTabContextMenu and cellContextMenu properties, and the display whitespace issue will be resolved.

What do you want it to expect? Can you elaborate? devicePixelRatio is just the pixel ratio.

Hi, I've tried to update the prop, but when I log it out to the console, it seems that it stays 1:

Fixed a bug where the devicePixelRatio property was modified with no visual change. This property modification is to modify the ctx property of the table, thus modifying the table ui, but not modifying window.devicePixelRatio, so window.devicePixelRatio is unchanged, which is a normal phenomenon.

That makes sense. The lack of visual change was what I thought was strange. Thanks for having looked into this.


Dashboard: List hackathons

Admins need to be able to list all hackathons (applications).
Requirements for filtering the list is outlined in https://github.com/hackclub/hackathons-backend/issues/33

Closed by https://github.com/hackclub/hackathons-backend/pull/96


functional change to rename and change 1 var to not be a sum

Is the key in the works or decide it's not needed?

@bthaile actually,i was wrong! it is already keyed under "stakes", it looks like:
[
 {
   marketId,
   stakes: []
  }
]

so i can just add more keys at that top level


fix list styling for widgets on shop page

in mobile view, list style of the categories is bad. fix it.

This is fixed.


Networking: fix UDP checksum related issues.

messed up my rebase, the 2nd commit is a mess.

@jukkar wait for @rmstoi's maxwell check. And actually, while rebasing I messed up the 2 commit

@jukkar wait for @rmstoi's maxwell check. And actually, while rebasing I messed up the 2 commit

Sure, the 2nd commit looked ok to me but I was probably looking the fixed version.


Consider supporting schema evolution

Description
With the current version of write_deltalake function, we must set mode="overwrite" when we use overwrite_schema=True.
This constraint is explicitly implemented in the source code of this function.
https://github.com/delta-io/delta-rs/blob/main/python/deltalake/writer.py#L181
However, this constraint makes it difficult to use delta-rs for use cases that need to handle schema evolution because write_deltalake will entirely delete existing data if mode="overwrite" is set. We cannot "append" data to existing Delta Lake tables with new columns.
On the other hand, the Spark API of Delta Lake supports mergeSchema  in both the overwrite mode and the append mode.
https://docs.delta.io/latest/delta-batch.html#automatic-schema-update

Delta Lake can automatically update the schema of a table as part of a DML transaction (either appending or overwriting), and make the schema compatible with the data being written.

It would be beneficial to have an option for handling schema evolution.

Add a new write option equivalent to mergeSchema in Spark API, or
Relax constraints on overwrite_schema to allow to use overwrite_schema=True with `mode="append".

Use Case
We operate an hourly batch for writing Web access event logs into a Delta Lake table. It generally works. However, we sometimes need to add data fields to the event logs.
For now, we cannot handle such schema evolution with delta-rs. We need to use Spark instead to update the schema of the Delta Lake table.
Related Issue(s)
This is not an issue, but we recently found a workaround for appending data to an existing Delta Lake table with new columns.
# Schema update: Write an empty PyArrow table with "overwrite_schema=True", "mode="overwrite"",
# and "partition_filters" that does not match any partitions
write_deltalake(
  "event_log",
  py_table.schema.empty_table(),   # Create an empty table from PyArrow table to write
  mode="overwrite",
  overwrite_schema=True,
  partition_by=['event_date'],
  partition_filters = [("event_date", "=", "fake_date")])
)

# Then we can safely append data
write_deltalake(
  "event_log",
  py_table,
  partition_by=['event_date'],
  mode="append",
)

This workaround works but (1) Delta Lake table must be partitioned, and (2) honestly, not straightforward.

Closing this, since it's duplicate of: https://github.com/delta-io/delta-rs/issues/1386


Version 2.3.0 build

Initial 2.3.0 build
Pylint-venv 2.3.0 is a required dependency for spyder 2.4.1
Changes

bumped build number
added doc url
adding dev url
adding setup tools and wheel

Package Info

upstream repo: https://github.com/jgosmann/pylint-venv/
Jira ticket: https://anaconda.atlassian.net/browse/PKG-974

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:16: avoid_noarch: noarch: python packages should be avoided
ERROR: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:42: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
ERROR: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:42: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:42: missing_doc_source_url: The recipe is missing a doc_source_url
ERROR: /tmp/abs_e866hcvkn2/clone/recipe/meta.yaml:42: missing_license_family: The recipe is missing the about/license_family key.
Errors were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_8ewidro6nc/clone/recipe/meta.yaml:16: avoid_noarch: noarch: python packages should be avoided
WARNING: /tmp/abs_8ewidro6nc/clone/recipe/meta.yaml:45: missing_doc_source_url: The recipe is missing a doc_source_url
ERROR: /tmp/abs_8ewidro6nc/clone/recipe/meta.yaml:45: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_8ewidro6nc/clone/recipe/meta.yaml:45: missing_license_url: The recipe is missing a license_url
Errors were found

I noticed the linter is throwing missing_license_family: The recipe is missing the about/license_family key. I'm not sure what that exactly means or if it's super necessary.

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_7d36n82toq/clone/recipe/meta.yaml:46: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_7d36n82toq/clone/recipe/meta.yaml:46: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_ccq0cnjppr/clone/recipe/meta.yaml:46: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_ccq0cnjppr/clone/recipe/meta.yaml:46: missing_license_url: The recipe is missing a license_url
Warnings were found


[change] Nudger Tool: Move selection by selection size.

Just a tiny idea for the Nudger Tool:

Select selection as usual.
Equip Nudger Tool.
Hold down the sprint-key.
Rightclick.
Instead of moving the whole selection by one block, the selection is moved by its size.

Eg: If the selection is a 5x5x5 cube, doing the above actions should move the selection 5 blocks instead of 1 block.

Implemented as of latest commit(s).


Allow external URLs to access IPC commands

This is very early and likely won't be merged, but this is a possible way to fix #5088

Thanks for your contribution! I've extended this on #5918.