Add an API for full-chain verification

We'll never support verification against the trusted publishers store, but we could support verification against a particular user-supplied certificate. That way, users could at least do full-chain verification of binaries that they control.

Thinking about this more, maybe we could support verification against the trusted publishers store: we could have another repo that automatically extracts it from a GitHub Actions Windows runner on a periodic basis, and then consume that repo's output here.

This looks like the right URL: http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab
(Maybe. It might be for an older version of Windows.)

https://unmitigatedrisk.com/?p=259 has a description of how to take the authrootstl.cab and actually retrieve the certs it references.

https://github.com/PeculiarVentures/tl-create is a tool that already does this (apparently by the same author of that blog).
Looks like this is what we want:
node src/bin/tl-create.js --microsoft --for 'CODE_SIGNING' --format pem roots.pem

https://github.com/robstradling/authroot.stl also containing a rolling update of the trusted certificate store.

https://github.com/trailofbits/windows-ctl gives us the ability to bundle the Trusted Publishers store. So this is no longer blocked; just needs attention.

https://www.ccadb.org/resources also has links for the code signing roots.

Got sufficiently annoyed at this: https://github.com/woodruffw/ms-codesigning-roots

I came across this issue by accident, and wanted to point you to my repository that I've built and auto-updates: https://github.com/ralphje/mscerts
I'm also performing Authenticode checks in https://github.com/ralphje/signify and have been properly parsing CTLs for a while now (in particular here: https://github.com/ralphje/signify/blob/master/signify/authenticode/authroot.py).
The thing is, Microsoft creates a relatively complex ruleset for when a certificate is valid, in our case for code signing and time stamping. Not sure if you're willing to create this ruleset in your library as well, but just wanted to point you towards these.


KOGITO-7902: Missing unit test coverage for TransitionMarshalling and WorkflowMarshalling classes

JIRA: KOGITO-7902 - Missing unit test coverage for TransitionMarshalling and WorkflowMarshalling classes
Adding coverage for Definition classes and marshallers.
VS Code Extension: Serverless Workflow

@Josephblt Hi, nice work. Although I did not expect selenium coverage. The idea behind the JIRA was unit test for the specific classes.
I see some code duplication, I guess we can handle that later.
Any idea why builds do not run?

@domhanak please missing review here. Thanks!

@romartin I do not see the build executed for the PR. Any ideas why?

@domhanak no idea honestly. I can't see the button for rebuilding either. It looks the build workflow is not executed. @Josephblt can you please rebase or something and try to force the build?

@Josephblt I still can't see the build resuls, any ideas why?

Hello @romartin, retriggered the builds again. Let's see how it goes.


daily npm audit failure

This is due to https://github.com/apache/openwhisk-wskdebug/issues/95 which needs to be updated.

Filed https://github.com/apache/openwhisk-wskdebug/pull/96

The PR sent has been merged, now we are only waiting on a new openwhisk-wskdebug release.

The Openwhisk vote has passed, and the artifact is released. Now waiting on an npm publish.

Fixed


gradle-scala plugin overrides isolated gradle provisioner scala version in spotless

Expected Behavior
When using gradle + gradle-scala and specifying the scala version with -PscalaVersion=2.12 along with spotless-scala (https://github.com/diffplug/spotless) with scalafmt 3.5.8, there shouldn't be any problems and it should check/format the code fine.
Current Behavior
Currently if you use spotless scala along with scalafmt 3.5.8 + scala 2.12 to see if the code is formatted, i.e.
./gradlew -PscalaVersion=2.12 :spotlessScalaCheck

You get the following stack trace
> Configure project :
Starting build with version 3.4.0-SNAPSHOT (commit id de2ccf1f) using Gradle 7.5.1, Java 18 and Scala 2.12.15
Build properties: maxParallelForks=10, maxScalacThreads=8, maxTestRetries=0

> Task :spotlessScala FAILED
Step 'scalafmt' found problem in 'streams/streams-scala/src/main/scala/org/apache/kafka/streams/scala/FunctionsCompatConversions.scala':
null
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
        at com.diffplug.spotless.scala.ScalaFmtStep$State.createFormat(ScalaFmtStep.java:98)
        at com.diffplug.spotless.FormatterStepImpl$Standard.format(FormatterStepImpl.java:80)
        at com.diffplug.spotless.FormatterStep$Strict.format(FormatterStep.java:88)
        at com.diffplug.spotless.Formatter.compute(Formatter.java:230)
        at com.diffplug.spotless.PaddedCell.calculateDirtyState(PaddedCell.java:203)
        at com.diffplug.spotless.PaddedCell.calculateDirtyState(PaddedCell.java:190)
        at com.diffplug.gradle.spotless.SpotlessTaskImpl.processInputFile(SpotlessTaskImpl.java:102)
        at com.diffplug.gradle.spotless.SpotlessTaskImpl.performAction(SpotlessTaskImpl.java:88)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
        at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
        at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
        at org.gradle.internal.Either$Right.fold(Either.java:175)
        at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:420)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:342)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: java.lang.NoClassDefFoundError: scala/collection/IterableOnce
        at org.scalafmt.Scalafmt$.format$default$2(Scalafmt.scala:171)
        at org.scalafmt.Scalafmt.format$default$2(Scalafmt.scala)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        ... 123 more
Caused by: java.lang.ClassNotFoundException: scala.collection.IterableOnce
        at com.diffplug.spotless.FeatureClassLoader.findClass(FeatureClassLoader.java:81)
        ... 126 more

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':spotlessScala'.
> java.lang.reflect.InvocationTargetException

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 9s
2 actionable tasks: 1 executed, 1 up-to-date

Context
Relevant issue in spotless: https://github.com/diffplug/spotless/issues/1273
Relevant PR in kafka: https://github.com/apache/kafka/pull/12475
The reason why spotless-scala with scalafmt is failing is because the usage of -PscalaVersion=2.12 causes gradle-scala plugin to override the scala version. While this is expected/fine if you happen to be building your project for a different version of Scala, in the case of spotless-scala (that uses scalafmt underneath) the version of scala should not be overridden because regardless of what Scala version you are building the project, scalafmt 3.5.8 only works with Scala 2.13.x. Specifically if you look at the stacktrace its complaining about classes that only exist in Scala 2.13.x stdlib but not in Scala 2.12.x stdlib. This is why if you run  ./gradlew -PscalaVersion=2.13 :spotlessScalaCheck there is no issue (since scalafmt 3.5.8 is compild
Spotless is already trying to solve this problem by isolating it (see https://github.com/diffplug/spotless/issues/1273#issuecomment-1211199206) but for some reason the -PscalaVersion=2.12 bypasses this isolation. My immediate suspicion is that guild-scala is providing the scala runtime/stdlib globally within gradle which is being picked up by spotless-scala? If this is the case I imagine the way to solve this issue is to use an isolated classloader (no idea if Gradle is already doing this?)
Steps to Reproduce
Checkout the following branch/PR https://github.com/apache/kafka/pull/12475 and run  ./gradlew -PscalaVersion=2.12 :spotlessScalaCheck.
Your Environment
My environment is MacOS Montery 12.5 M1 however this problem occurs on any platform (this is evidenced by the fact it fails in Kafka's CI/CD, see https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-12475/)
Build scan URL: https://scans.gradle.com/s/bycldhmiy5imy

@tgodzik Since you have worked on the gradle-scala plugin in the past and also with scalafmt I believe you may have some idea/context on this.

I am not familiar with Spotless, though the issue here seems that it's using a specific Scalafmt version released for 2.12 instead of using the one for the current Scala version. I also relies quite heavily on reflection, which might also cause other problems.
Scalafmt should work well both with Scala 2.13 and 2.12 (probably any Scala version) with the API that we already use in Metals:
https://github.com/scalameta/metals/blob/main/metals/src/main/scala/scala/meta/internal/metals/FormattingProvider.scala
I wonder if it would be possible to replace the current implementation with API, which is run in it's own classloader as far as I can remember.
The other option would be to dynamically download scalafmt version base don which is used in the project currently.
I think it's not possible currently to have two different Scala versions on the classpath when using Gradle. Gradle Scala plugin needs a specific version and I don't think it's isolated behind a separate classloader. As long as both spotless and Scala plugin use the same classpath it will not work (unless I am mistaken and it actually does separate classloaders :thinking: )

@tgodzik Thanks for the reply

I am not familiar with Spotless, though the issue here seems that it's using a specific Scalafmt version released for 2.12 instead of using the one for the current Scala version. I also relies quite heavily on reflection, which might also cause other problems.

So this seems to be the case, if you look at https://github.com/diffplug/spotless/blob/0fd20bb80c6c426d20e0a3157c3c2b89317032da/lib/src/main/java/com/diffplug/spotless/scala/ScalaFmtStep.java the Scala version happens to be hardcoded depending on what version of Scalafmt you are using, so if you happen to use Scalafmt 3.x it will just always pick Scala

I wonder if it would be possible to replace the current implementation with API, which is run in it's own classloader as far as I can remember.

Design wise this seems like the best solution as it will always work and it makes sense for a CLI tool to run on its own completely isolated.

The other option would be to dynamically download scalafmt version base don which is used in the project currently.

As you say, if Gradle cannot support proper classload isolation for Scala then yes it appears that our next best solution is to dynamically figure out if there is a gradle-scala plugin loaded and if so then we get the major scala version from the gradle-scala plugin and use that instead.

A full reproducer would help if anything needs to change in Gradle itself.

I had another look at this during the weekend and I think that it makes more sense to wait until Gradle provides classloader isolation in their plugins by default, i.e.
https://docs.gradle.org/current/userguide/designing_gradle_plugins.html

It’s important to understand that a Gradle plugin does not run in its own, isolated classloader. In turn those dependencies might conflict with other versions of the same library being resolved from other plugins and might lead to unexpected runtime behavior. When writing Gradle plugins consider if you really need a specific library or if you could just implement a simple method yourself. A future version of Gradle will introduce proper classpath isolation for plugins.

Another solution for the gradle-scala plugin itself would be to manually implement classloader isolation but I assume that would be a large amount of work. @ljacomet Do you know if there is any movement in gradle to implement classloader isolation on the plugin level or is this still something that is far off?

Managed to solve this issue via spotless (see https://github.com/diffplug/spotless/pull/1283)


Added visible scrollbar styling for webchat panel.

Fixes #1327
===
Added styling for scrollbar within the Webchat panel, so that it is now visible.
Light:

Dark:

High Contrast:

Pull Request Test Coverage Report for Build 2203

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 54.99%

Totals

Change from base Build 2201:
0.0%

Covered Lines:
4873

Relevant Lines:
8321

💛  - Coveralls


Envoy Fundamentals Continued

This video on Envoy fundamentals is a great getting started resources. The envoy docs are really thorough by can be a little challenging to navigate through to find the things that I actually need. Please do more of these envoy fundamentals (w/o kubernetes) videos. Here are some topics I'd like to see

dynamic configuration of upstream endpoints
setting up envoy sidecars + front proxy
tracing envoy sidecars with zipkin

Please 🙂

Hi @cecilphillip! Not sure if you saw, but I've recorded a full Envoy course since then :) The labs cover some of the topics you mention above.
https://academy.tetrate.io/courses/envoy-fundamentals

@peterj No I did not! Thanks. I'll close this issue then


README.md: don't create an hidden file

A file named .castor.php won't be listed by ls and other tools, e.g. file managers.
I suggest to create a regular file instead of an hidden one.

if we do that, you'll need to update more code (the function finder at least) and the .castor.php of this repo
But let's wait for other feedback, but your argument make sens to me so I'm 👍🏼 for it

👍 for it. Argument makes sens

I did the renaming in https://github.com/jolicode/castor/pull/74
Thanks @alexislefebvre for your suggestion

Thanks for doing the changes.


Please create a Nuxt module

It would be SUPER convenient to have a Nuxt module that registers auto-imports and sets everything up to avoid any manual work. That is what Nuxt modules are for and it would be very nice to have a Nuxt module.
Nuxt people are very used to installing modules via Nuxt devtools or via nuxi module add regle. Great DX ✨
And thanks to Nuxt auto-imports - it means we won't have to manually import rules, composables etc. it would all be automatic.

Hey! I agree, I will make a Nuxt module, but I don't think I will make all built-in rules availables as auto-import, it can create conflict with already existing auto-import. But core methods can do the trick yeah


Healthcheck fails because of --use-server-list-ping

Describe the problem
I was trying to debug why the healthcheck was failing and I fixed it by removing "${MC_HEALTH_EXTRA_ARGS[@]}" from the mc-health script. I printed the args out and it only contained --use-server-list-ping. No idea what that is or why it was causing it to fail.
Container definition
services:
  nomi:
    image: 'itzg/minecraft-server:java8-multiarch'
    volumes:
      - ./data:/data
    environment:
      - CF_SERVER_MOD=nomi-ceu-1.6.1-rc-server.zip
      - TYPE=CURSEFORGE
      - EULA=TRUE
    ports:
      - 25565:25565

Container logs
No response

Modpack seems to declare Forge 1.12.2 so I need to investigate why that condition thinks it is < 1.7.

Is it possible this is a bug with mc-monitor? I get this error when I run it manually against hypixel:
$ docker run -it --rm itzg/mc-monitor status -use-server-list-ping --host mc.hypixel.net
failed to ping mc.hypixel.net:25565 : All attempts fail:
#1: failed to read response packet ID: read tcp <IP_ADDRESS>:34414-><IP_ADDRESS>:25565: read: connection reset by peer

SLP is the old protocol. I wouldn't expect it to work against a modern server. Again, the bug is that the startup script thought the modpack was a Minecraft version less than 1.7 and that's why it enabled the old protocol feature.

Oh, I just noticed you're using the old TYPE=CURSEFORGE mechanism. I recently changed how VERSION gets reconciled and missed a spot with that mode. Now I know what to fix.

Oh, I just noticed you're using the old TYPE=CURSEFORGE mechanism. I recently changed how VERSION gets reconciled and missed a spot with that mode. Now I know what to fix.

Ya, tried it initially with AUTO_CURSEFORGE but I think the modpack just has too many scripts/custom stuff. It would startup fine but then strange in-game bugs would happen like recipes being broken.


Metric Data Type TYPE_MILLISECONDS	 Conversion Bug

          Checking out Release 0.2.2 I can now pick Custom Metrics in the Query Builder 🚀 - returned values are null but same query works in GA4 Query Explorer

this seems to be a type config issue based on the warnings i get

Originally posted by @aa-matthias in https://github.com/blackcowmoo/grafana-google-analytics-datasource/issues/70#issuecomment-1711756483

	// Type: The metric's data type.
	//
	// Possible values:
	//   "METRIC_TYPE_UNSPECIFIED" - Unspecified type.
	//   "TYPE_INTEGER" - Integer type.
	//   "TYPE_FLOAT" - Floating point type.
	//   "TYPE_SECONDS" - A duration of seconds; a special floating point
	// type.
	//   "TYPE_MILLISECONDS" - A duration in milliseconds; a special
	// floating point type.
	//   "TYPE_MINUTES" - A duration in minutes; a special floating point
	// type.
	//   "TYPE_HOURS" - A duration in hours; a special floating point type.
	//   "TYPE_STANDARD" - A custom metric of standard type; a special
	// floating point type.
	//   "TYPE_CURRENCY" - An amount of money; a special floating point
	// type.
	//   "TYPE_FEET" - A length in feet; a special floating point type.
	//   "TYPE_MILES" - A length in miles; a special floating point type.
	//   "TYPE_METERS" - A length in meters; a special floating point type.
	//   "TYPE_KILOMETERS" - A length in kilometers; a special floating
	// point type.

ga data type

@lcc3108 - thanks for fixing that one! it's still not showing up on grafana plugin page - is the review still pending?

@lcc3108 - thanks for fixing that one! it's still not showing up on grafana plugin page - is the review still pending?

Yes, I just submitted a revision and I'm waiting for a review.

thanks, working now! i had to force refresh the browser to ensure the query mode (time series / table) selector was shown and added to existing panels. once switched to table and back to time series everything is working now... :)


Replace IPC/arrow with parquet/hyparquet ?

See if IPC serialization could be replaced with parquet, using hyparquet.

We will stick with pyarrow.feather / apache-arrow for the moment to ensure compatibility between export and import.


Update the terminal type to be better at hiding the backend choice

Problem
To write apps that use crossterm / termion / termwiz, each crate has different methods to clear the screen, enable raw mode, etc. This means that most code that uses a terminal calls methods directly on the underlying library during setup / restore.
e.g.:
https://github.com/tui-rs-revival/ratatui/blob/0bf6af17e7d72b959b2776ca66a9c9986388d2df/examples/demo/crossterm.rs#L20-L25
https://github.com/tui-rs-revival/ratatui/blob/0bf6af17e7d72b959b2776ca66a9c9986388d2df/examples/demo/termion.rs#L17-L25
https://github.com/tui-rs-revival/ratatui/blob/0bf6af17e7d72b959b2776ca66a9c9986388d2df/examples/demo/termwiz.rs#L13-L15
It would be nice to be able to be able to switch implementations in end user apps using only a feature flag (and effectively hide these differences).
Solution

Update the terminal type in ratatui so that apps built using ratatui are agnostic to the choice of terminal crate. One approach to is already done by @veeso in tui-realm at https://github.com/veeso/tui-realm/tree/main/src/adapter which adds the various crossterm and termion (but not termwiz) methods that are missing in the terminal type as adapters / a bridge pattern.
I think we should do something inspired by the pattern used there, but we can improve on it by pulling the terminal methods into the backend interface.
Each Backend however is still a little dfferent to construct. It would be really nice to be able to write:
let terminal = Terminal::on(io::std_err())?;
terminal.enable_mouse_capture()?;
terminal.enter_alternate_screen()?;
terminal.enable_raw_mode()?;
terminal.clear()?;

Additionally we should handle restoring both manually, and automatically by implementing the Drop trait e.g.
terminal.disable_mouse_capture()?;
terminal.leave_alternate_screen()?;
terminal.disable_raw_mode()?;

// or just drop the terminal variable (either explicitly or automatically on going out of scope)
// the terminal should cleans up the alternate screen and raw mode back to how they started.
drop(terminal);

Something that tui-realm also does is makes the Terminal and Frame types as newtypes to hide the Backend:
https://github.com/veeso/tui-realm/blob/547728dd3541571df6d741adc96d2617c0adc47a/src/adapter/crossterm/mod.rs#L20-L24
/// Frame represents the Frame where the view will be displayed in
pub type Frame<'a> = TuiFrame<'a, CrosstermBackend<Stdout>>;

/// Terminal must be used to interact with the terminal in tui applications
pub type Terminal = TuiTerminal<CrosstermBackend<Stdout>>;

I wonder if there is perhaps some way to do something similar?
Requirements:

An app can be built so that there is no mention of crossterm / termion / termwiz aside from feature flags in the cargo.toml which select the default adapter (which is crossterm as this is compatible with window, mac and linux)
The app should not have to add crossterm / termion / termwiz to the cargo.toml unless they need more advanced use specific use cases.
All common methods of the terminal setup are wrapped ({enter,leave}_alternate_screen, clear_screen, {enable,disable}_raw_mode, {enable,disable}_mouse_capture
tui-realm should be able to remove at least the terminal bridge parts
We should consider events (keyboard / mouse) as out of initial scope for this, but they could eventually be in scope if we want to make it easy for apps to just write app code and ignore the underlying terminal. (these vary a bit more between the terminal crates, hence the scope)

Alternatives

There is a Crosstermion crate written by @Byron that might be worth looking at, but it wraps ratatui right now, so this would flip that dependency.
Additional context

Imho, ideally there should be absolutely no need for users to use anything from their backend crate. That is the goal I would set forward.

I am happy to work on this once I complete my work on #259 .

A possible alternative to this that could be worth look would be to use the terminal crate and rip out most of the backend. Not sure how viable that would be however.


cronJob enable

I think this commit is mostly fine, and like the idea of handling most the big idea stuff in later commits.
However, it looks like some of my questions/concerns are still outstanding; in particular: (1) the cron example has both a slash and a dash in the hours field, which are both disallowed, (2) the integers or 'H' comment, (3) and I'm still not following the 'Please note' comment.
To answer my own earlier question, I don't think any branch regex should be specified by the user with cron jobs because these are triggered solely by the passage of time and thus are independent of any branch/tag.  Users should be required to check out the branch (or branches or tags or whatever) that they are interested in from their scripts.  It would be useful to verify what Jenkins does, though (does it just leave the user with whatever branch the previous build on that machine happens to have checked out?)

Already applied as part of "wip" (which should have been renamed before merging, but oh well...)


ListFile returns empty?

Hi,
I am trying find the id and title of files and folder inside my google drive, so i am using ListFile(). However I am getting empty list( but I can use CreateFile(), Upload() etc to get upload new files). Here is the code,
    file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
   for file1 in file_list:
    print('title: %s, id: %s' % (file1['title'], file1['id']))
What should I do to resolve this issue?

Are you using automatic authentication?

I'm having same issue. @MateoWartelle, yes I'm using automatic authentication

Confirm the same bug. Using automatic auth. Work without automatic auth.  CreateFile() and Upload() work well.
PyDrive==1.3.1

I also encounter the same problem with automatic auth. As Ikrcal says, CreateFile() and Upload() work well for me also.

Same here,  it seems to list only the files created by the current app

I have the same bug.
some file couldn't return file info.

Any updates to this? I'm also getting an empty list when using FileList.

Same problem here using automated authentication via the settings.yaml, verified to work as expected when using the LocalWebserverAuth().   I ended up working around this by using a service account and then sharing a specific folder.

Ill revisit and open a PR

I just had the same issue. When playing around, I had created a settings.yaml by copying the sample one here: https://pythonhosted.org/PyDrive/oauth.html#sample-settings-yaml
I noticed that when granting permissions in the Google auth page, it said something along the lines of This application requests permission to create/delete/list files created by the app, which explains why it wouldn't be able to see files not created by the app.
Removing the oauth_scope: entry from the sample settings (So it just uses the default https://www.googleapis.com/auth/drive solved the issue for me (which grants it permission for everything).

I just had the same issue. When playing around, I had created a settings.yaml by copying the sample one here: https://pythonhosted.org/PyDrive/oauth.html#sample-settings-yaml
I noticed that when granting permissions in the Google auth page, it said something along the lines of This application requests permission to create/delete/list files created by the app, which explains why it wouldn't be able to see files not created by the app.
Removing the oauth_scope: entry from the sample settings (So it just uses the default https://www.googleapis.com/auth/drive solved the issue for me (which grants it permission for everything).

This worked for me, I used automating authentication.
For it to work you'd have to delete your credentials.json file and run the authentication code again


Didn't render normally

Tested in default theme.
the original table code:
| two | one |
| --- | --- |
| text | text |
| oooo | tttt |

Hi @Quorafind. Thanks for leaving an issue. Could you give me explanation for what is happening?
#1 What is happening exactly
#2 What do you expect to happen
#3 Any other details
I will be adding a template to enforce this issue format.
Thanks,
Trey.

Sorry that I found I was wrong, it works well now.


Feature Request: Hotkey/command to reveal carat line

It would be great to have a command or hotkey that unblurs the paragraph you are currently writing on, similar to how you can hover over a given paragraph to reveal it. This allows one to quickly double-check typos, grammar...etc while actively writing writing without revealing the whole document

agree！！！！

you can open this attribute in settings(Reveal under caret).When you hide all ,the paragraph you are currently writing on will be unblured.But there is a bug when you reveal headlines only.


inconsistent nodejs version support for development

Issue:
The supported versions of Nodejs for Ghost and Yarn never align.
Ghost: ghost start after installing supported nodejs version for yarn
Message: The version of Node.js you are using is not supported.
Supported: ^12.22.1 || ^14.17.0 || ^16.13.0
Installed: 14.13.0

Yarn: yarn install after installing supported nodejs version for ghost
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^10.13.0 || ^12.10.0 || ^14.13.0". Got "14.17.0"
error Found incompatible module

The only workaround here seems to be downloading Node.js for yarn's supported versions, then forcing a reinstall to meet Ghost's supported version. From this point, you can launch ghost start, then yarn dev to compile CSS. Seems a little counter-intuitive, no?

Hey @orklepee, looks like the version of gscan you're using is bit old. The current version is 4.22.0 and the supported Node.js versions are same as Ghost. https://github.com/TryGhost/gscan/blob/069e6977633fb8e5de18e725d79bcdcefe7bcfc7/package.json#L17


Deploy Checklist: New Expensify 2022-08-29

Release Version: 1.1.93-4
Compare Changes: https://github.com/Expensify/App/compare/production...staging
This release contains changes from the following pull requests:

[ ] https://github.com/Expensify/App/pull/10400
[x] https://github.com/Expensify/App/pull/10458
[x] https://github.com/Expensify/App/pull/10554
[x] https://github.com/Expensify/App/pull/10592
[ ] https://github.com/Expensify/App/pull/10597
[x] https://github.com/Expensify/App/pull/10616
[x] https://github.com/Expensify/App/pull/10633
[ ] https://github.com/Expensify/App/pull/10652

Deploy Blockers:

[ ] https://github.com/Expensify/App/issues/10649
[ ] https://github.com/Expensify/App/issues/10650

Deployer verifications:

[ ] I checked the App Timing Dashboard and verified this release does not cause a noticeable performance regression.
[ ] I checked Firebase Crashlytics and verified that this release does not introduce any new crashes.

cc @Expensify/applauseleads

:rocket: All staging deploys are complete, @Expensify/applauseleads please begin QA on version https://github.com/Expensify/App/releases/tag/1.1.93-3 :rocket:

:clap: Heads up @Expensify/applauseleads :clap:
A new pull request has been :cherries: cherry-picked :cherries: to staging, and will be deployed to staging in version 1.1.93-4 :rocket:

:tada: All set?…You bet! @Expensify/applauseleads https://github.com/Expensify/App/releases/tag/1.1.93-4 has been deployed to staging :tada:

Regression is completed
PR #10400 is failing due to https://github.com/Expensify/App/issues/10666
PR #10597 is failing due to https://github.com/Expensify/App/issues/10661

:clap: Heads up @Expensify/applauseleads :clap:
A new pull request has been :cherries: cherry-picked :cherries: to staging, and will be deployed to staging in version 1.1.93-5 :rocket:

:tada: All set?…You bet! @Expensify/applauseleads https://github.com/Expensify/App/releases/tag/1.1.93-5 has been deployed to staging :tada:

Discussed the regressions and decided they are not deploy blockers.

:shipit:


Textfield, floating label font size for invalid state

What is the actual behaviour?

Floating label font size for invalid and empty textfield is set to $input-text-floating-label-fontsize which is 12px. So, the font size for empty text-field does not change (no matter if it is focused or not) which is wrong I think, because it is not consistent with valid field behaviour.

What is the expected behaviour?

In order to be consistent floating-label for invalid textfield should change to

$input-text-font-size for not focused and empty textfield
$input-text-floating-label-fontsize for focused and/or filled
Just like the valid field behaviour.

I signed it!

The font size should be 12px as that is the equivalent of the 12sp defined in the specification. It looks like the non-invalid floating label size maybe off.
Closing this PR since it defers the component further from the spec rather than aligns more to it.
Thank you.


More information of the arguments.

Hi there, i am so interested in your work, and try to re-train my own data. But there are too many arguments in your code without specific comments or explaining in your paper, and it is a little confused to understand and re-set them.   could you provide more information of the arguments?

@ThomsonW As our code heavily depends on SPADE (https://github.com/NVlabs/SPADE), we keep a large numebr of the arguments unchanged. The modified ones are mostly related to the usage of our multi-gpu renderer and our updated rotatespade model. They are specified in our train.sh. I have updated the information in the options for certain confused ones.

We will clean


Fix Travisci build

The build broke because it's running on xenial for python 3.6 and 3.7. Python packages can have conditional dependencies which are platform-dependent, which makes it impossible to run check-requirements using the same requirements-minimal. i.e. ipython installs a host of conditional dpenedencies.
My proposed fix is:

remove non-essential packages from requirements-dev.txt, only what is necessary to run test or do stuff. Devs can elect to install packages on their own
Target xenial python 3.7 for check-requirements. This is arbitrary and probably non-issue 98% of the time. But occasionally the build will break and we'll need to remember to appease xenial py37 overlord

Finally, I added a make venv-dev, which I'm fine with removing. i'm wondering if it would be useful to have a single command to install "all optional" tooling. But i understand this can be contentious and opinionated in what is allowed in there. It's a separate commit that can be dropped.
Fixes #36

Target xenial python 3.7 for check-requirements. This is arbitrary and probably non-issue 98% of the time. But occasionally the build will break and we'll need to remember to appease xenial py37 overlord

Does this mean if someone wants to update requirements-dev from requirements-dev-minimal they have to be on py3.7?

I would recommend they do it in py3.7 but it's very likely py3.6 will still generate the same output. Most packages don't have platform-specific dependencies. i.e. if we need datetime parsing library, it shouldn't need different supporting packages for different OSes.
Some packages install backport dependencies. For example, python 3 has functools.lru_cache in stdlib but python 2 requires a backport package. If you run upgrade-requirements in python 2, it will include functools32 in output but not in python 3. The difference between python 3.6 and 3.7 is small (I can only think of  dataclasses).
Long way of justifying the 98%. But I acknowledge it's possible this will cause issues, I plan to keep an eye on changes to requirements.

I would recommend they do it in py3.7 but it's very likely py3.6 will still generate the same output. Most packages don't have platform-specific dependencies. i.e. if we need datetime parsing library, it shouldn't need different supporting packages for different OSes.

In that case, it shouldn't be a problem to test check-requirements against 3.6 too right? The issue was caused by non-essential packages, and the essential ones, at least currently, do not have these conditional dependencies.

I haven't verified if the remaining packages on 3.6 have issue. Even if check-requirements works for 3.6 now, it's a matter of time before it diverges and we'll be right back here and need to make a call.
We could run check-requirements for both but it's not that valuable. check-requirements is a sanity check that we've pinned everything that will be installed, to avoid issues where user reports bug but it's caused because of slightly different install setup than the one we've developed for. I don't want to make it hard requirement, since we don't control where and how it's going to be installed (no containerization).
This is more of a code quality check, so that future PRs will have automated mechanism of enforcing "did you fully pin all dependencies". If working around it becomes an issue, I'm in favour of disabling it and just running it adhoc from time-to-time instead.

Btw, if they do diverge and someone using python 3.6 requires a different version of some package than what is listed in requirements-dev, would that cause any issues?

Likely won't cause issues, as we're talking about extra dependencies being added and for platform-specific needs. The ones we do know about are pinned, for reproducible environments.

... I use is what is in requirements-dev-minimal and just let pip handle any further dependencies, whereas the generated requirements-dev is very explicit in all the dependencies used.

What you had before is 0% pinned dependencies. check-requirements is for 100% pinned. My stance, from the previous comments, is to try to aim for 100% but be okay with 90-ish% coverage. Pin the majority of dependencies but if a couple extra are installed as additional platform-specific dependencies, I'm fine with ignoring them.

Actually, I assume pip can probably handle that scenario though since currently different packages may already depend on different versions of the same library and it still works fine.

Oh boy, you're in for a surprise, pip doesn't do dependency management at all:

... pip doesn’t have true dependency resolution, but instead simply uses the first specification it finds for a project

It's why we're using venv-update + requirements-tools, which will error out if conflicting dependencies are installed/generated.


Class type should be picked by default when there is no super type

Code:
@Inject
@ContributesBinding(AppScope::class)
class F8eHttpClientProvider(
  private val appId: AppId,
  private val appVersion: String,
  private val appVariant: AppVariant,
  private val platformInfoProvider: PlatformInfoProvider,
  private val datadogTracerPluginProvider: DatadogTracerPluginProvider,
  private val networkingDebugService: NetworkingDebugService,
  private val appInstallationDao: AppInstallationDao,
  private val countryCodeGuesser: CountryCodeGuesser,
) { // note there is no supertype

Error:
e: [ksp] /Users/zhukov/src/squareup/wallet/app/shared/f8e-client/impl/src/commonMain/kotlin/build/wallet/f8e/client/F8eHttpClientProvider.kt:32: The bound type could not be determined for F8eHttpClientProvider. There are no super types.
e: [ksp] java.lang.IllegalArgumentException: The bound type could not be determined for F8eHttpClientProvider. There are no super types.

Current fix is to explicitly use class type as the bound type:
@ContributesBinding(AppScope::class, boundType = F8eHttpClientProvider::class)

You don't need to "contribute a binding" when there is no binding. This is working as intended. By adding the @Inject annotation you can inject F8eHttpClientProvider.


Page jump in iphone on edit. iOS 12

To Reproduce
Steps to reproduce the behavior:

Create angular based project open link in iOS device below 12 version.
On input edit pages are jumping.
https://user-images.githubusercontent.com/48058350/130113514-0e13aa77-071f-46ce-83bd-38cef8b99924.mp4

Smartphone (please complete the following information):

Browser - safari
Version - iOS 12

@Nitekurs sorry, but iOS 12 is a really old version of iOS and this bug won't be fixed. iOS 12's market share is below 2% according to this site.

@Nitekurs sorry, but iOS 12 is a really old version of iOS and this bug won't be fixed. iOS 12's market share is below 2% according to this site.

@pkovzz Is there any alternate solution available for this ? or Is there any other library available for this that you know?

@Nitekurs sorry, but iOS 12 is a really old version of iOS and this bug won't be fixed. iOS 12's market share is below 2% according to this site.

@pkovzz Is there any alternate solution available for this ? or Is there any other library available for this that you know?

Maybe this one.

@Nitekurs sorry, but iOS 12 is a really old version of iOS and this bug won't be fixed. iOS 12's market share is below 2% according to this site.

@pkovzz Is there any alternate solution available for this ? or Is there any other library available for this that you know?

Maybe this one.

Hehehe, Same issue here also. Thanks

@Nitekurs sorry, but iOS 12 is a really old version of iOS and this bug won't be fixed. iOS 12's market share is below 2% according to this site.

@pkovzz Is there any alternate solution available for this ? or Is there any other library available for this that you know?

Maybe this one.

Hehehe, Same issue here also. Thanks

Yeah, it looks like an OS related problem, rather than the library.


Add example for managed code for parallel

Add example for managed code for parallel attribute. Current example is only for C++ code and I can't find if similar feature exists for C# code for taef.

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

ID: 97a717a1-cf17-ce5d-c755-efa7bb852b9e
Version Independent ID: d15eeb94-fb83-dd3d-f6e3-7ffef59e5f8a
Content: Parallel - Windows drivers
Content Source: windows-driver-docs-pr/taef/parallel.md
Product: windows-hardware
Technology: taef
GitHub Login: @DOMARS
Microsoft Alias: domars

@akharit - Thank you for this input on providing additional C# samples for TAEF. We use input like this to help direct our limited doc resources. In general, the properties such as Parallel, are set as shown in Authoring Tests in C#. So a code snip could look like this in C#.
       [TestMethod]
        [TestProperty("Parallel", "true")]
        public void ParallelTestOne()
        {
        	for (int i = 0; i < 10; i++)
        	{
        		Log.Comment(String.Format("Test One: {0}", i));
        		System.Threading.Thread.Sleep(250);
        	}
        }

Good luck with your TAEF C# development.


Error on FreeBSD

Wal as been working fine, then all of a sudden I get this:
[I] wallpaper: Set the new wallpaper.
Traceback (most recent call last):
File "/usr/local/bin/wal", line 11, in
load_entry_point('pywal==3.3.0', 'console_scripts', 'wal')()
File "/usr/local/lib/python3.7/site-packages/pywal/main.py", line 208, in main
parse_args(parser)
File "/usr/local/lib/python3.7/site-packages/pywal/main.py", line 180, in parse_args
sequences.send(colors_plain, to_send=not args.s, vte_fix=args.vte)
File "/usr/local/lib/python3.7/site-packages/pywal/sequences.py", line 85, in send
util.save_file(sequences, term)
File "/usr/local/lib/python3.7/site-packages/pywal/util.py", line 83, in save_file
with open(export_file, "w") as file:
OSError: [Errno 6] Device not configured: '/dev/pts/1'

This is related to your system and there's nothing I can do to fix it on my side. It's likely that a reboot will fix this. Thanks for opening this issue.


Sandbox should deploy some accounts at startup and print their addresses/keys

Much like Anvil does upon startup, the sandbox should generate some accounts upon startup and log their keys and addresses (the same accounts every time).

Closing as completed in https://github.com/AztecProtocol/aztec-packages/pull/1549


teamcity fix

adding the teamcity setParameter for send the project build version to the next build step

@elingg looking for a review.  I believe these are the changes we are looking for in the project to make it work with TC.   I've checked in TC and the parameters are listed.  I have been unable to link that to the next step in the process... I'm wondering if the build-hdfs shell script is causing some issues.   Regardless we need these updates.

:+1:


Wait until a project is created

Follow up to #25.
Prompt the user until a GCP project is found.
cc: @jamesward

trivial, merging.


env: node\r: No such file or directory

Hello,
for some reason I cannot run htmlhint from the command line, either as a global or local install.
Maybe it is related to #21, #40 and #9.
$ htmlhint src/snippets/sample.html
env: node\r: No such file or directory

The following is alright though:
node node_modules/.bin/htmlhint src/snippets/sample.html

Thanks!

v0.9.8 published: https://www.npmjs.com/package/htmlhint

Ace, thanks @yaniswang :-)


CORE-6150: Simulator now runs liquibase migration scripts

Also implemented missing page functionality in named and paged queries
Don't forget to close Simulator, fibers or persistence service if any persistence service is created (test fixed)

LGTM

@LizR3 , this is ready to be merged. Don't forget to fwd-merge to the main branch following the process oulined by @ronanbrowne


Stargaze Degen Club Design

The main thing to review is the README.
Includes stubs for the minter and collection contract that can be ignored for now. But they will help the developer get started to implement the logic from the design.

Codecov Report
Patch coverage has no change and project coverage change: -39.51 :warning:

Comparison is base (536724e) 90.56% compared to head (f25c3a0) 51.06%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main       #9       +/-   ##
===========================================
- Coverage   90.56%   51.06%   -39.51%
===========================================
  Files           4        9        +5
  Lines         106      188       +82
===========================================
  Hits           96       96
- Misses         10       92       +82

Impacted Files
Coverage Δ

contracts/degen-club/collection/src/helpers.rs
0.00% <0.00%> (ø)

contracts/degen-club/minter/src/helpers.rs
0.00% <0.00%> (ø)

... and 5 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


fix: escape table name correctly and add schema name field

Closes #10

correct the algorithm for quoting table names
add a schema name field, defaulting to public

the reasoning for having a separate field is that it accepts both schema and table names in unescaped form, so that it can escape both fields separately before concatenation

Closing as this plugin has been deprecated in favor of our Postgres destination for batch exports. The new system does support passing a schema field in the configuration.


Add weakreaf_lru_cache to prevent caches from pinning jaxprs.

To use this cache, the first argument must be some type that is
object identity hashed (like a jaxpr).

"To use this cache, the first argument must be some type that is object identity hashed (like a jaxpr)."
Do you think it would be better if add an assertion hash(weak_arg) == hash(id(weak_arg))?


css: Fix background color of date_row in unread PMs.

This was a regression introduced in the commit
a80500cf5d6a1d82d97a9b2e56586a74fa433ef9
where we forgot to change the color of for unread PM date rows while change the color for the date row of unread stream messages.
discussion: https://chat.zulip.org/#narrow/stream/9-issues/topic/date.20dividers.20in.20PMs

Sorry, this should fix it now!

Merged, thanks @amanagr!


Redesign Existing Testimonials UI

I want to participate in this project by contributing,
The current testimonials UI has a zoom-out effect when the cursor hovers over a testimonial card, but it causes a visual issue where the top and bottom parts of the card are cut off.
https://github.com/user-attachments/assets/16fac9fd-d296-4047-8da6-22fe2d2da24b

Ok 👍🏻


.drawflow-node with style: width: auto doesn't like leaving .drawflow

As the title says, having the .drawflow-node class with width: auto instead of a fixed width, dragging it outside of the .drawflow class compresses the width.

any help is appreciated :pray:

Hey,
I've copied your snippet and ran it locally.

Browser is Chrome 120 but also reproducable in Firefox 115.
Since you've only posted a picture I want to clarify that this is happening when you drag the box to the side of the canvas.

Try new snippet.
Only added new css:
 #drawflow {
      position: relative;
      width: 100%;
      height: 800px;
      border: 1px solid red;
    }
    .drawflow, .drawflow .parent-node {
      position:absolute;
    }

    .drawflow .drawflow-node {
      width: auto;
      position: relative;
    }

Complet example:
<!DOCTYPE html>

  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jerosoler/Drawflow/dist/drawflow.min.css" />

Hell yeah, that works as expected :+1: Thanks a ton!


Implement the base Clean Architecture with MVVM: presentation/app layer

Why
The template should provide the initial base architecture to start. The selected architecture for the shared, Android and iOS modules is Clean Architecture with MVVM.
Who Benefits?
Developers

This needs to be evaluated. Most of KMM-IC are now sharing the Domain and Data layer only. From my exp sharing ViewModel is quite tricky

I can implement the viewModel inside the android module and only share the Data and Domain. What is your thought on this @luongvo ?

@kaungkhantsoe Yes, let's go with a native VM in each Android and iOS module now.

Hi @kaungkhantsoe. I'm finishing the task of reusing the Android app module from Android Templates #29. Please postpone this task until I finish my one to re-check and revise the plan for further necessary updates for the Android module. 🙏

Got it @luongvo 🙏


Couchdb native support for Consumer Mode

Stuck until CAMEL-14822. We could experiment after.

Let's resume when camel-quarkus is aligned on camel >= 3.3

Build issues seems unrelated and PR checks were ok.


We really shouldn't be doing assertions in here

Travis tests have failed
Hey @silasary,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
TravisBuddy Request Identifier: e59176d0-dbc4-11ea-9ba8-b569b15b137c


@crtjr64 - TypeScript is not a library. It's a language. You can use Vuejs.

    @crtjr64 - TypeScript is not a library. It's a language. You can use [Vuejs](https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/vuejs-todo-single-file-component).

Originally posted by @AJIXuMuK in https://github.com/SharePoint/sp-dev-docs/issues/8514#issuecomment-1285380907

@crtjr64 - could you provide details what this issue is about?

@crtjr64 - you are free to create your own generator for Vuejs/plain JS similarly it is done by PnP.
And you can definitely keep it up to date... and share with others.
Microsoft's stake is TypeScript and (optionally) React.
Vuejs usage/requests are pretty low to invest in including it into the Microsoft owned generator.
Same for JS - too little developers want to use plain JS.

I know what I am free to do young man but thanks for proving my point being that this was a huge waste of my time and Microsoft's part in it. Why even mention Vuejs in documentation as an option if there's no investment in it? I could have come to that conclusion days beforehand and spent that time working on my own generator instead of weeks later you giving me what's been painfully obvious these last several weeks after wasting days experimenting with various Microsoft recommended solutions and I completely disagree that too little developers use plain JS or Vuejs when, my entity a major university hospital system with one of the top trauma units is using it as well as a huge list of fortune 500 companies. While it may be true in your circle that few developers use these options the real world says TypeScript / React developers is much less than the other libraries and plain JS...
Companies that use React: Airbnb, Discord, Instagram, DropBox, Walmart, Wix, Pintrest, Skype
Entities that use Vuejs: University of MD Hospital, Johns Hopkins Hospital, Netflix, Xiomi, Facebook, Nintendo, BMW, Apple, Google... oh wait... now I get it.... Apple? Google?
You can close this. I already built my generator... I don't think its that good, but it works for me so far.


Feature Request: NDI support

Thanks for making this.
I am gonna try to implement NDI inside of FluffyDisplay, although I am more proficient in swift than objective c. It would be cool to have FlufflyDisplay as an NDI source because NDI is optimised for low latency and quality (NewTek NDI® protocol allows high-quality, high-performance, low-latency streaming of video and audio over a local network.) and less clunky to use than ScreenSharing. You don't even need to have a Mac, you can use a raspberry pi 400 running Dicaffeine to display two screens. you could have a setup in another room with bluetooth keyboard and mouse connected to your host with identical displays.

VLC has reversed engineered the protocol here.


New version: StandardNotes.StandardNotes version 3.183.37

Pull request has been created with komac v2.0.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run


Revive load testing and run in daily CI

https://github.com/microsoft/scitt-ccf-ledger/tree/main/test/load_test hasn't received much attention in a while and may be broken by now as it's not tested in CI.
The scripts should be checked and a new daily CI (like in CCF) added that runs the load test.

I think a good option for this is to use locust as a library (https://docs.locust.io/en/stable/use-as-lib.html). This would allow us to write it as a regular pytest and re-use all the fixtures.


Is Pytorch Geometric available through conda?

❓ Questions & Help

Is Pytorch Geometric available through conda?

Not yet, but this is on the roadmap.

I'd like to upweight this issue -- right now, as far as I can tell, installing pytorch geometric in any conda environment that already has pytorch installed in the typical way will result in a broken installation. As a MWE, on a fresh machine I just created a new conda envrionment, installed pytorch (per pytorch's recommended instructions, e.g. conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch) then installed pytorch_geometric according to the instructions on the main page, and then running python and from torch_geometric.datasets import Planetoid yields:
>>> from torch_geometric.datasets import Planetoid
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch_geometric/__init__.py", line 5, in <module>
    import torch_geometric.data
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch_geometric/data/__init__.py", line 1, in <module>
    from .data import Data
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch_geometric/data/data.py", line 8, in <module>
    from torch_sparse import coalesce, SparseTensor
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch_sparse/__init__.py", line 14, in <module>
    torch.ops.load_library(importlib.machinery.PathFinder().find_spec(
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch/_ops.py", line 104, in load_library
    ctypes.CDLL(path)
  File "/crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/ctypes/__init__.py", line 381, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /crimea/conda_envs/pytorch_geometric_install_test/lib/python3.8/site-packages/torch_sparse/_convert_cuda.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaDataInstanceIdEEPKNS_6detail12TypeMetaDataEv

This makes it very difficult to design portable environments that use pytorch_geometric; having a conda-safe install would markedly help.

Mh, I've never had any issues with combining a conda PyTorch installation with a pip PyTorch Geometric installation. How do you install the external packages?
I definitely see the need for a conda installation though. I'm trying my best to integrate it.

@rusty1s thanks; I wonder what about my setup is so strange if this hasn't been a problem for you. To clarify though, what I described above was a MWE. The only packages in the conda environment were pytorch (installed from their main directions) followed by installing pytorch geometric through pip. That's it, and then the import gives the error listed above.

I'm really not sure what went wrong for you there :( You can see here that we setup PyTorch via conda and install torch-scatter afterwards.

I got this same error with just pip and torch 1.8.1+cu102

PyG is now available through conda, see here.


fixes missing border under copy permissions & buttons placement

related to https://github.com/divio/djangocms-admin-style/pull/335

Coverage remained the same at 87.94% when pulling 4117f80c83698c74d12147e217e80478423eddfa on genti94:bugfix/dialog-layout-fix into bbf3ec89e29c1e38231ed898989f6dba6d6cb6f4 on divio:develop.

👍


Revisit having Scope.run() crash the frame if error leaks out of operation

For some reason, we made it so that scope.run() did not crash the frame if the operation failed. I can't remember why this was done, but I've now seen two cases where errors were dropped on the floor.
Can we revisit this now that the rest of the Apis are maturing to see if we can add this back?

resolved by #838


compiler-rt: Do not use singleton pattern for PLSan class

While initial implementation of the runtime library adopted singleton design pattern, it has no clear reason or benefit.
only PLSan adopting this pattern (unlike LSan / ASan) without any benefit doesn't help getting PLSan merged into mainline LLVM.
Let's get back to functions and variables like other sanitizers :) (visitor pattern is still useful for readability, but not singleton)

LGTM


Use GET Parameters to preserve state

Being able to preserve page state, i.e. encounters you have built, with nothing more then a link would be extremely useful.  Just adding a few get parameters to set player count, player level, and a listing of monsters would make it easy to open and modify previous encounters without having to fill out all the details over again.

Closing this out. I don't recall if this issue predates the localStorage saving built into the app, but in any case this isn't something I'm likely to implement.


Getting rid of centos_swan_image

Fixes issue SCE-1156
Summary of changes:

got rid of centos_swan_image

Testing done:

all existing tests should pass.

run integration tests

run integration tests

@iwankgb kill docs/install.md

run integration tests

run integration tests


packagekit: Fix compilation

It was broken because of https://github.com/NixOS/nixpkgs/pull/163255. The solution is to just use nix 2.6 as input dependency.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

CC NickCao

lgtm, any upstream fix available?

I don't yet have one. I mean the upstream solution would be to make it compile with nix 2.7.0.


Update common.libsonnet to 2.5.0

Description
update r2.5 branch test with 2.5.0 final wheel
Checklist
Before submitting this PR, please make sure (put X in square brackets):

[x] I have performed a self-review of my code.
[x] I have necessary comments in my code, particularly in hard-to-understand areas.
[x] I have run one-shot tests and provided workload links above if applicable.
[x] I have made or will make corresponding changes to the doc if needed.

cc @tengyifei


PieChart :  styles dont work

even in the document, the example not change strokeWidth and color lables
styles={{
      '.chart_lines': {
        strokeWidth: 0
      },
      '.chart_text': {
        fontSize: '2em',
        fill: '#fff'
      }
 }}

@NgKhanh have you solved this issue ? I am getting the the same problem.

@harunhasdal I think it is due to class and className, what do you think ?

@umair-khanzada Hava the same problem...did you solve it?

I also have the same problem. Has anyone been able to edit the pie chart label text styling?

Or move the text to just beyond the outside of the piechart?

@zgallagher08 I'm still searching for a solution 😔


Changes to section summaries and return to hub link

What is the context of this PR?
Updates the section summary page so that the submit button shows Continue rather than Save and Continue
Removes the guidance: Check your answers before continuing to the next section from section summary pages.
Removes Can't complete this question? from the return to hub link text.
How to review
Check that the changes listed above have been implemented.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

 [A] Changes to Runner - Section summaries and return to hub link (S)


Component: Owner Quote

Owner Quote Component
Desktop:

Mobile:

This was completed but also there is a duplicate by @K0LdW0rLd titled designer card.


Use decorator for quartz job factory

Creates decorator for provided IJobFactory in Quartz with ability to provide custom.

Related to: https://github.com/MassTransit/MassTransit/issues/2065
@lahma could you check on this?
@phatboyg we have this test failing, even before my changes:
https://github.com/MassTransit/MassTransit/blob/7a1ece87aba85e304b3c062fcaf60199601d47e1/tests/MassTransit.QuartzIntegration.Tests/ScheduleMessage_Specs.cs#L26

Thanks for pinging and doing the effort, I'll try to have a look tomorrow (Sunday).


Inclusive/exclusive iterator bounds for the ImmutableDB

The start and end bounds of an Iterator of the ImmutableDB are both: Maybe (Slot, hash), where Nothing means "start from the first block/EBB" and "stop at the last block/EBB". When both bounds are Nothing, everything in the database will be streamed. When an explicit bound is given (Just), the block/EBB at that Slot will be included in the stream, both for the start and the end bound.
For the LedgerDB it would be better if it were possible to start streaming after some slot.
For example, the following types could be used as bounds:
-- | The start bound for an 'Ouroboros.Storage.ImmutableDB.API.Iterator'.
--
-- The @hash@ is used to distinguish the EBB from the regular block stored at
-- the same slot. Note that the database only stores the hash of the EBB
-- explicitly, so if the given hash matches the EBB's, we know the bound
-- refers to the EBB. If it doesn't match, we assume it matches the regular
-- block's hash, but we don't verify this. In order to to verify this, we
-- would either have to store the hash of each block, or parse the contents of
-- the block, which we don't want to do.
data StartBound hash
  = StartAfter (Maybe (Slot, hash))
    -- ^ Exclusive bound. Start streaming after the slot with the given hash.
    -- 'Nothing': start streaming after genesis, i.e. start from the
    -- beginning.
  | StartAt    (Slot, hash)
    -- ^ Inclusive bound. Start streaming at the slot with the given hash. If
    -- the slot is empty (and there is no EBB with the hash), the iterator
    -- will start at the next filled slot (or existing EBB).

-- | The end bound for an 'Ouroboros.Storage.ImmutableDB.API.Iterator'.
--
-- See 'StartBound' for more about the<EMAIL_ADDRESS>data EndBound hash
  = EndAt     (Slot, hash)
    -- ^ Inclusive bound. Stop streaming at the slot with the given hash. If
    -- the slot is empty (and there is no EBB with the hash), the iterator
    -- will stop at the previous filled slot (or existing EBB).
  | EndBefore (Slot, hash)
    -- ^ Exclusive bound. Stop streaming before reaching the slot with the
    -- given hash.
  | AllBlocks
    -- ^ Stop after all blocks have been streamed.

Possibly obsoleted by #453; if we end up not needing this anymore in the chain DB, can close this ticket.

Superseded by #548.


changed the order of the e.g.  and added a Number

To me, the "routing precedence" appears a bit confusing.
because the order of the examples is not correct.
you mention " Example (4) + (6) + (7):"
but I think the order of the following examples is incorrect.
currently the Example with the number "6" is in the first position and "4" in the second.
I changed the order and added a number to the examples.
Examples:
4 =
// product/list.page.route.js
export default '/product'

6:
// product/item.page.route.js
export default '/product/@productId'

7:
/ product/catch-all.page.route.js
.......

Makes sense. Thanks!


[Bug] 401 Unauthorised Error because of an old auth token used during coming back from study to studies list.

Describe the Bug
If we use authentication, such as Keycloak, with OHIF, we encounter an issue when returning from the study to the study list. Instead of returning, we encounter the 401 Error and are redirected to the /not found server URL. This happens if we spend with study more than 5 minutes (token refresh time).
Based on our investigation, the application uses an outdated token. It works as expected if we manually copy the latest refreshed token from the network tab and make a network call.
Steps to Reproduce

Use OHIF with authentication.

Go to the studies list.

The current behavior
When we go to the studies list after a time longer than the token refresh cycle, we get the 401 Error.
The expected behavior
The OHIF application should update the token in the request properly, and we should be able to access the studies list without any issues.
OS
macOS 14.5 (23F79)
Node version
v18.20.3
Browser
125.0.6422.113 (Official Build) (arm64)

The current state of OHIF utilizes the Implicit Flow. I have a plan to migrate our authentication to the Authorization Code with Refresh Token flow, allowing a refresh token to be used for maintaining the signed-in state.

Thanks, @sedghi, for picking this up.

Fixed here https://github.com/OHIF/Viewers/pull/4234


fix: emphasis syntax broken when tag is nested (fix: #539)

Please check if the PR fulfills these requirements

[x] It's the right issue type on the title
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes/features)
[x] Docs have been added/updated (for bug fixes/features)
[x] It does not introduce a breaking change or has a description of the breaking change

Description
fix: #539

Thank you for your contribution to TOAST UI product. 🎉 😘 ✨

@junghwan-park 아하 넵. 뭔가 optimize에 꽂혔나봐요;; 네이밍을 좀 더 명확하게 바꾸겠습니다 ㅎㅎ


TextEditor.getScrollTop is deprecated.

This is now a view method. Call TextEditorElement::getScrollTop instead.
TextEditor.getScrollTop (/opt/atom/resources/app.asar/src/text-editor.js:3518:12)
beautifyCompleted (/home/bootcamp/.atom/packages/atom-beautify/src/beautify.coffee:117:34)
tryCatcher (/opt/atom/resources/app.asar/node_modules/bluebird/js/main/util.js:26:23)
Promise._settlePromiseFromHandler (/opt/atom/resources/app.asar/node_modules/bluebird/js/main/promise.js:510:31)
Promise._settlePromiseAt (/opt/atom/resources/app.asar/node_modules/bluebird/js/main/promise.js:584:18)
Async._drainQueue (/opt/atom/resources/app.asar/node_modules/bluebird/js/main/async.js:128:12)

Thanks for the notice. Pull Requests welcome!

@Nelson112 I don't see this deprecation in deprecation cop or elsewhere.  Can you please reply where you're seeing this is deprecated exactly?


Winget error on Windows 11 Spanish

Describe the bug
When trying to install software packages, it says Winget is already installed, but then trows errors saying (translated into English):
Error trying to update the origin: winget
Winget Already Installed
Error trying to update source: winget
The 'msstore' source requires you to view the following contracts before using it.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The origin requires the two-letter geographic region of the current machine to be sent to the back-end service in order to function properly (for example, "USA").
An example error when trying to install Github (translated into English):
Failed to lookup source: winget
An unexpected error occurred while executing the command:
0x8a15000f : Data required by the source is missing
Installing Applications [Installing Git.Git 2 of 8 ]
No packages found between working sources.
Error trying to update source: winget
To Reproduce

open Windows Terminal (Powershell) as an administrator
enter command: iwr -useb https://christitus.com/win | iex
select a few software packages to install
Click the Start Install button

Expected behavior
Install packages without error.
Additional context
Windows 11 pro
22H2
OS Compilation: 22621.1413
Regionalization: Spanish-Mexico

I've just tested it again and it is working fine now. Installed a few apps and they worked. Gracias,


chore(dependencies): upgrade pygitguardian

@SofienM sorry, I think you'll need to rebase due to my MR


FIT Count website - Greek translations

If I go to the translations area on the FIT Count website it appears that the Greek translations have not been set up:
https://fitcount.ceh.ac.uk/admin/tmgmt/jobs
However, the translations are available in Transifex.
I don't understand how the Drupal system works for this, and am not sure whether we actually need to use it or whether it is quicker to manually copy and paste the translations from transifex back into the website. Are you able to advise on this @BirenRathod or shall I go ahead and use the copy and paste option?

Let me look at this.  The FIT Count website will be enhanced a lot during the SPRING project.

@kitenetter It will be quicker to use just copy & paste but if transifex module is not in use. Because this module is there and translation already available to use, we should go through Transifex root.

@kitenetter Although cope & paste still needed on below page after activated a particular language. in this case, it is Greek.
https://fitcount.ceh.ac.uk/admin/tmgmt/items/7?destination=node/2/translations


Force ftruncate for shared memory objects on FreeBSD

FreeBSD does not allow to use posix_fallocate on shared memory objects.
I also think that this function should not be used here anyways, since shared memory objects are not regular files, and posix_fallocate should give an ENODEV error if the fd refers to a non-regular file. At least that is my understanding of the POSIX specification.

I also think that this function should not be used here anyways, since shared memory objects are not regular files, and posix_fallocate should give an ENODEV error if the fd refers to a non-regular file. At least that is my understanding of the POSIX specification.

Indeed, this seems correct. Can we drop posix_fallocate altogether for all platforms?

I think ftruncate is the POSIX-compliant way to set the size of a shared memory object.

I think ftruncate is the POSIX-compliant way to set the size of a shared memory object.

Yeah, it's used in the example of the POSIX spec.

Can we drop posix_fallocate altogether for all platforms?

This

Pushed a commit that uses ftruncate on all platforms.

Sure, I've removed it.
Didn't want to touch it earlier, because it was not introduced with the shm stuff, but now I see that it was only used in os-compatibility.c, which is not there anymore.

Thanks!


Use same data class for one epoch experience

Performance comparison with the current version
epochs: 200
steps per epoch: 4000
algorithm: VPG
env: Cartpole
seed: 0
compute: Colab CPU
np.concatenate takes some time because it involves copying existing data.

Implementation
1

current
Epoch: 199Total steps: 8e+05 Total episodes: 1.13e+04Average Episode Return: 190 Episode Return STD: 34.7 Max Episode Return: 200 Min Episode Return: 37 Average Episode Length: 190 Time: 416 Policy Loss: -0.0228 Avarage Entropy: 0.554 Log Prob STD: 0.46 Value Function Loss: 360

Uselast_observations
Epoch: 199Total steps:            8e+05   Total episodes:         1.29e+04Average Episode Return: 190     Episode Return STD:     21      Max Episode Return:     200     Min Episode Return:     125     Average Episode Length: 190     Time:                   484     Policy Loss:            -0.0169 Avarage Entropy:        0.565   Log Prob STD:           0.434   Value Function Loss:    221

Performance comparison with the current version for commit https://github.com/yamatokataoka/reinforcement-learning-replications/pull/72/commits/deda11979429ca329480064063107423ed63106b
epochs: 2000
steps per epoch: 50
algorithm: DDPG
env: Pendulum
seed: 0
compute: Colab CPU
(data here)


Multiple observations simultaneously

Is it possible to access multiple observation types simultaneously?

Hi,
It is not possible at the moment, but it could be done by implementing a new MultipleObservation to automatically aggregate several observation types into a tuple.

This is now implemented with the TupleObservation.


Improve my Scalafix (1)

SortImports
better tuned ExplicitResultTypes

some of the changes are only of whitespace, so I recommend to turn on Hide whitespace changes
these are changes from CRLF -> LF


Too Many Requests for url error

When i'm using the cli, its giving me this error
HTTPError: 429 Client Error: Too Many Requests for url: https://api.openai.com/v1/chat/completions

It seems you are using free version of ChatGPT which restricts frequency of API hits.
As per free-tier plan, one can have a 20-request limit per minute, with 150,000 tokens per minute. While paid users contain a rate limit of 60 RPM and 250 TPM in their first 48 hours. After 48 hours the rate limits of paid users turn to 3,500 RPM and 350,000 TPM.
Hope this answers the issue.

That makes sense, but I have not used ChatGPT in over 2 months, so my free tier account should be 'fresh' with the unused 20-request limit per minute.
After installing ShellGPT and trying an example, I get the 429 error immediately. I've tried 4 example requests in the past 10 minutes, all with the same error.
So I do not believe at this point it is a limit-per-minute issue.

Just a shot in the dark, but have you tried refreshing the API token to a new one ? Just in case that one was tied to the free tier ?

Solved it (for me at least).  After making sure I had 'credit' to make requests, I closed down all my open terminals, open a new terminal session, walked through the tutorial (again) at https://beebom.com/how-use-chatgpt-linux-terminal/ (probably over kill), and now it works.  So lesson is to make sure you have request credit available and not expired.  :)

I don't think so there is limit like $18 credits to a free tier account. Can you point to official references for same? Thanks

I don't think so there is limit like $18 credits to a free tier account. Can you point to official references for same? Thanks

i was getting this error too. I am not able to find $18 credit though. However i can see my accounts usage here: https://platform.openai.com/account/usage

We have some information regarding to this ussue on our wiki page.

So the conclusion is if the trial credit provided is finished, we need to use the paid version of ChatGPT to be able to use ShellGPT?

I am able to chat via the web page but through the shell I am also getting the "too many request for url" error
Do I have to be a paid member to use sgpt?

No, you don't need a paid membership to use sgpt. If you haven't exceeded your limit and you're receiving a 429: too many requests for URL error, this typically means OpenAI is experiencing high traffic and server overloads, just retry your requests after a brief wait.

I have tried 6 or 7 times over a period of two days and got the same 429 error every time. As a matter of fact I was not able to get a reply even once, yet accessing it through the browser works. So I'm thinking there is some other problem.

No, you don't need a paid membership to use sgpt. If you haven't exceeded your limit and you're receiving a 429: too many requests for URL error, this typically means OpenAI is experiencing high traffic and server overloads, just retry your requests after a brief wait.

If we reached the limit, how to apply for more 'limit'? Ive go through the billing page. So do we need to pay if we have reached our limit? If no, how to increase the limit back without paying?.

You don't need to have a paid account to use sgpt provided the free trial credit given is still valid and has not been used up.  I had the same issue. Requests made through sgpt were returning 429, since my free trial credit has expired. Once i converted to a paid account (charged on per use basis), my requests were coming through successfully.

I'm having the same issue. Newly generated token, have $17.87 credit remaining and I can chat on chat.openai.com/chat perfectly fine, so I would assume the servers aren't down.

ChatGPT Web service and OpenAI Account (API) are two different services. Just because ChatGPT can reply to content doesn't mean the API can. You need to check the API usage.

Probably most people encountering this issue are being mislead by the "remanining" credit. They give you 3 months of free tier, but after that it's expired, as you can see my free credit expired April 1st 2023 (kindof a joke). It is what it is.


Node plugin not working as expected with JSON type definition file

I found this PR for tern (https://github.com/ternjs/tern/pull/551) which shows how to use JSON type definition files with node modules.
Tested it with sublime's and vim's plugin by using the demo repo for PR (here: https://github.com/bennidhamma/tern-test-node-plugin) and it works as expected (images below).

However, when using atom with atom-ternjs there is no autocompletion. Essentially same behaviour as tern before the PR - it works only if require statement is removed from the .js file (picture for failed autocompletion below).

.tern-project file from the PR repo:
{
  "libs": [
    "browser",
    "jquery",
    "ScoutData"
  ],
  "plugins": {
    "node": {
      "modules": {
        "ScoutData": "=ScoutData"
      }
    }
  }
}

Is there perhaps some additional configuration needed in order for atom-ternjs to allow both a require statement and a JSON type definition file for autocompletion?
Edit: Updated the comment with the correct image for vim's autocomplete.

Works as expected with the latest version of atom-ternjs.

Are there any error in the console?
Maybe:

restart, re-install the package.
be sure tern isn't installes via npm install -g

Hi and thanks for a response.
Here is more information (some of it is new - after 0.11.0 update):

Tern is not a global package. Below is a list of all such packages on this box:

Console prior to 0.11.0 update never showed any error. I'm not much of a coffee-script dev (this was a first time I looked at it to be honest :blush:) but from what I did manage to debug while testing it was a simple case of having an empty array of completions. I wish I made a note/screenshot with that but since it looked so much like the PR mention in first comment I figured it was down to plugin interop with tern and went on.

After recent update to 0.11.0 even the autocomletion for a source file without require statement stopped working. This time however there is a console error. Below is a screenshot after restarting the atom-tern server and trying autocomplete for "ScoutData." on file without a require.

One possibly good thing is that now both files (with and without a 'require') throw the same error on autocomplete.

After updating to 0.11.0 and getting the above error, I went a step further and not only re-installed the package but also Atom itself (not a big deal since I use Webstorm and currently I'm only testing Atom to see if I can get a comparable dev environment).
First I uninstalled atom by following the steps noted in this topic: https://discuss.atom.io/t/how-to-completely-uninstall-atom-for-mac/9084/14
Then I installed the atom-tern package. So essentially its now a clean Atom with tern-atom package (picture below).

Do you have any more tips on what to do in order to make this work?
Like I said, Atom is still something I'm just looking into so this issue is not that big of a deal for me. However, I'l probably have some free time later on to look into this more if you can point me in the right direction. Just keep in mind that coffee-script is not my forte :smile:

Could you please click the 404 message and copy the response text. Maybe there are some information behind that.
Which operation system you are using?

Sure, no problem.
I'm using OS X,  El Capitan (10.11.1).
As for the message, it's 400 (not 404) and the response text is:
TypeError: Cannot read property 'text' of undefined

You are right. 400 :)
I am pretty clueless right now. All those undefined won't get us anywhere.
Seems to be a problem with Tern itself. Haven't seen anything like that until now.
From this perspective it could be anything right now. :crystal_ball:
So. How to get more information...
We should try to to set the server to debug and hope there is some more information we can get.
If you find time, please navigate to .atom/packages/atom-ternjs open libs/atom-ternjs-server.js and set debug to true (line 43). Maybe verbose too, but i don't know if this is leading to anything.
Restart atom and try again.
Thanks and Greetings.

Since this sounds like it might take a while to find a cause I'l put this on my list of things to play with during the next round of spare time.
When that happens I'l try to look around the code in more details to avoid wasting your time. At last an excuse to look at coffee-script :)
Don't know when that will be but I'l update this thread when I find anything new (if you dont mind leaving it open).
Thanks again for checking this out and all the best to you.

Sure thing. Keep me updated. I will have a closer look later, maybe i find something.

I've finally been able to take another look at Atom and revisit this issue.
Good news: autocompletion now works as expected for an example with 'require'.
I see that there were a couple of updates for this plugin in the meantime so it must be that one of them has covered this issue. I'm not sure what could have been the root cause but I suppose it doesn't matter now.
Thanks again for your help with this issue and for continuing to work on the plugin.


Refactor indexing functions

Submission Checklist

[ ] Run unit tests: ./runTests.py src/test/unit
[ ] Run cpplint: make cpplint
[ ] Declare copyright holder and open-source license: see below

Summary
Refactors indexing functions to simplify them including:

renames lvalue.hpp to assign.hpp and lvalue_varmat.hpp to assign_varmat.hpp to match functions implemented in them
deletes unused rvalue_return metaprogram
changes signatures of rvalue and assign functions:
deletes unused argument depth
removes default value from name argument to allow for the next change
replaces cons_index_list structure with (possibly variadic) argument list of indices. This makes cons_index_list and related functions redundant so they are removed.

Intended Effect
The generated code that uses indexing is more readable.
How to Verify
The changes are tested by changed tests.
Side Effects
This changes the interface of indexing functions. So it needs to be merged together with changes in stanc that will generate code according to the new interface.
Documentation
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Tadej Ciglarič
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Should we make a new set for functions like subset to keep backwards compatability?

Do we need to be backwards compatible here? Is not this repo only used by stanc?

I dont think this is required to be backwards compatible. These are only used in the generated C++ model and are just an helper function for use of Stac3 with Stan Math. This is not like the services or anything.

Moved to original repo from the fork. New PR is #3011.


Added cache setting for travis and appveyor; documented the same for …

…local developer machine.
Description
Cache settings for electron and electron-builder.
Motivation and Context
local run of npm run build in a clean folder results in the following timings:
BEFORE: 8m 27s
AFTER: 6m26s
This is an almost 25% reduction in time - and the only difference is the usage of pre-downloaded / cached zips for electron.
Checklist:

[x] My pull request is properly named
[x] The changes respect the code style of the project ($ npm run lint)
[x] I tested/previewed my changes locally

@kytwb - pre-emptively saying this: the README.md changes had been coming up (auto-generated?) each time I edited and saved it. I have been diligently ignoring those changes till date in the past PRs, but since this one is editing certain lines in the same blcok (TOC), I felt it better to include those changes in this PR itself.
I guess the ask from all committers is to ensure that they commit the changes to the README.md file as they make changes to different sections within it. Hope that's ok.

@vraravam LGTM, thanks.


Publish

Docs Build status updates of commit 814797a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/outlook-on-send-addins.md
:white_check_mark:Succeeded

docs/add-ins/testing-and-tips.md
:white_check_mark:Succeeded

docs/add-ins/validate-an-identity-token.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.