Random jasmine tests in packages/core are hanging

Describe the bug
Random jasmine tests in packages/core are hanging and timing out the github workflow runners after six hours.
To Reproduce
Steps to reproduce the behavior:

Download the bubblewrap repo on an Ubuntu machine
run npm ci and then npm run test
After a few test runs, it should hang. I put the random seed number in the context notes below for additional info to try to reporduce.

Expected behavior
Jasmine tests do not fail
Desktop (please complete the following information):

OS: Ubuntu-18.04
Browser n/a
Version HEAD

Additional context
I tried testing on a Mac machine but the svg2img dep is blocking me from running npm ci successfully at the moment.
Output from GitHub workflows and from my Ubuntu machine:
lerna info run Ran npm script 'test' in '@bubblewrap/core' in 8.4s:

><EMAIL_ADDRESS>test /workspaces/bubblewrap/packages/core
> tsc && jasmine --config=jasmine.json

Randomized with seed 05494
Started
.............................................................................................................

109 specs, 0 failures
Finished in 0.175 seconds
Randomized with seed 05494 (jasmine --random=true --seed=05494)

This is the first commit that is broken: https://github.com/GoogleChromeLabs/bubblewrap/commit/fcd433701552df943926021676c657e9d0dbf521
I used nvm use 12 to use Node 12, followed by npm run clean, npm run clean-modules, npm install and npm run test.  The first 2 will remove modules so you can install the svg2img for the latest version.
Commenting out the tests in configSpec.ts. Commenting out the tests in configSpec.ts prevents things from hanging.

Commenting out this test specifically https://github.com/GoogleChromeLabs/bubblewrap/blob/main/packages/cli/src/spec/configSpec.ts#L57-L91 stops the tests runner from hanging.

Actually, it seems that any of the tests using mock-fs cause the tests to hang.
I'm using jasmine --config=jasmine.json --random=false --seed=32234 to ensure it always hangs.

I think the problem is in the two if statements here: https://github.com/GoogleChromeLabs/bubblewrap/blob/fcd433701552df943926021676c657e9d0dbf521/packages/cli/src/lib/config.ts#L113-L123.
Since the tests are not defining jdkPath and androidSdkPath, it will invoke configureJdk and configureAndroidSdk respectively.
These methods are similar to each other. Looking at configureJdk, we see: https://github.com/GoogleChromeLabs/bubblewrap/blob/fcd433701552df943926021676c657e9d0dbf521/packages/cli/src/lib/config.ts#L60-L75
This chunk of code will Ask the user for input using prompt. This will hang because there's no user input. Other tests use MockPrompt to get around this.
There are a few options here:

pass a JSON with the fields defined when mocking the FS, this should be fixed.
Use MockPrompt to return the values (and skip installing the JDK)
Mock JdkInstaller  so we get a fake installation.
I'd check what makes sense for each test.

@joycetoh8 FYI


Crash on xCode 8.3

After xCode 8.3 update the plugin crashes xCode on selecting the plugin options menu and select background.

Please re-install and restart.

This doesn't solve the problem! Removed the plugin from via Alcatraz -> removed it manually from the plug-in directory -> restarted xCode, installed the plugin via Alcatraz -> restarted xCode -> and still crashes

Remove the directory and file of the following, and re-install from Alcatraz

`~/Library/Application Support/Alcatraz/Plug-ins/XFunnyEditor``
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XFunnyEditor.xcplugin


Avoid rebuilding operator and checking ES twice

Would fix https://github.com/cloud-bulldozer/snafu/issues/186 along with avoid rebuilding and pushing ripsaw in each test.
Also simplifies the function wait_clean since deleting a namespace waits for the deletion of all  objects within it by default.
Rather than doing all those "sed" invocations, we might use the image argument of the benchmark YAMLs to overwrite the image. However I'm not sure about that idea since we would have to reference each test benchmark CRD.
Thoughts?

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:10:25

fs_drift_wrapper
PASS
00:05:44

hammerdb
PASS
00:06:05

iperf
PASS
00:02:53

pgbench_wrapper
PASS
00:03:18

smallfile_wrapper
PASS
00:05:40

sysbench
PASS
00:01:51

uperf_wrapper
PASS
00:16:34

ycsb_wrapper
PASS
00:22:46

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:11:07

fs_drift_wrapper
PASS
00:05:00

hammerdb
FAIL
00:03:05

iperf
PASS
00:02:55

pgbench_wrapper
PASS
00:03:10

smallfile_wrapper
PASS
00:05:47

sysbench
PASS
00:03:02

uperf_wrapper
PASS
00:16:33

ycsb_wrapper
PASS
00:07:18

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:09:28

fs_drift_wrapper
PASS
00:05:33

hammerdb
PASS
00:05:48

iperf
PASS
00:02:28

pgbench_wrapper
PASS
00:02:43

smallfile_wrapper
PASS
00:05:03

sysbench
PASS
00:02:12

uperf_wrapper
PASS
00:16:45

ycsb_wrapper
FAIL
00:09:48

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:09:22

fs_drift_wrapper
PASS
00:05:01

hammerdb
FAIL
00:02:48

iperf
PASS
00:02:37

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:09:33

fs_drift_wrapper
PASS
00:04:46

hammerdb
PASS
00:06:19

iperf
PASS
00:02:50

pgbench_wrapper
PASS
00:02:49

smallfile_wrapper
PASS
00:05:29

sysbench
PASS
00:01:41

uperf_wrapper
PASS
00:16:37

ycsb_wrapper
PASS
00:07:49

IMHO We should remove the es_check in Ripsaw. It should be only checked via SNAFU (removing the double check).

Yeah, I get your point. However snafu's CI depends on ripsaw's CI and not the opposite. Checking ES in ripsaw's CI is the only way now to ensure changes in snafu and ripsaw don't break indexing.

IMHO We should remove the es_check in Ripsaw. It should be only checked via SNAFU (removing the double check).

Yeah, I get your point. However snafu's CI depends on ripsaw's CI and not the opposite. Checking ES in ripsaw's CI is the only way now to ensure changes in snafu and ripsaw don't break indexing.

If there is a circular dependency, I wonder if we can set a var to skip indexing? by default the indexing is enabled, but if running w/ Ripsaw CI, we disable SNAFU es_check?

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:09:50

fs_drift_wrapper
PASS
00:05:16

hammerdb
PASS
00:05:34

iperf
PASS
00:02:37

pgbench_wrapper
PASS
00:02:42

smallfile_wrapper
PASS
00:05:50

sysbench
PASS
00:01:57

uperf_wrapper
PASS
00:16:58

ycsb_wrapper
PASS
00:06:55

IMHO We should remove the es_check in Ripsaw. It should be only checked via SNAFU (removing the double check).

Yeah, I get your point. However snafu's CI depends on ripsaw's CI and not the opposite. Checking ES in ripsaw's CI is the only way now to ensure changes in snafu and ripsaw don't break indexing.

If there is a circular dependency, I wonder if we can set a var to skip indexing? by default the indexing is enabled, but if running w/ Ripsaw CI, we disable SNAFU es_check?

I think a variable for this is redundant. We are not removing the check_es script from SNAFU, we are just not calling it for the functions that are using ripsaw. If we add a new workload, foo, that is outside of ripsaw we can simply call the check_es script from foo's ci_test.sh file. Thoughts?

Results for SNAFU CI Test

Test
Result
Runtime

!!! Couldn't read commit file !!!

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

fio_wrapper
PASS
00:12:01

fs_drift_wrapper
PASS
00:06:43

hammerdb
PASS
00:06:05

iperf
PASS
00:04:40

pgbench_wrapper
PASS
00:03:33

smallfile_wrapper
PASS
00:07:13

sysbench
PASS
00:02:29

uperf_wrapper
PASS
00:22:09

vegeta_wrapper
PASS
00:07:28

ycsb_wrapper
PASS
00:06:25

@jtaleric @dry923

IMHO We should remove the es_check in Ripsaw. It should be only checked via SNAFU (removing the double check).

Yeah, I get your point. However snafu's CI depends on ripsaw's CI and not the opposite. Checking ES in ripsaw's CI is the only way now to ensure changes in snafu and ripsaw don't break indexing.

If there is a circular dependency, I wonder if we can set a var to skip indexing? by default the indexing is enabled, but if running w/ Ripsaw CI, we disable SNAFU es_check?

I think a variable for this is redundant. We are not removing the check_es script from SNAFU, we are just not calling it for the functions that are using ripsaw. If we add a new workload, foo, that is outside of ripsaw we can simply call the check_es script from foo's ci_test.sh file. Thoughts?

+1 This PR simplifies the overall CI besides of preventing double-checking of ES indices.

@rsevilla87 CI from the last run is showing an error when building the benchmark-operator:snafu_ci
00:00:02.446 + image_spec=quay.io/rht_perf_ci/benchmark-operator:snafu_ci
00:00:02.446 + operator-sdk build quay.io/rht_perf_ci/benchmark-operator:snafu_ci --image-builder podman
00:00:02.511 time="2020-07-17T21:15:49Z" level=info msg="Building OCI image quay.io/rht_perf_ci/benchmark-operator:snafu_ci"
00:00:02.704 STEP 1: FROM quay.io/operator-framework/ansible-operator:v0.17.1
00:00:02.771 STEP 2: USER root
00:00:02.775 --> Using cache 38af728f984f1717973bd2c0bb81eea46d753c57947ed6d371ee4c2edec81132
00:00:02.796 STEP 3: COPY requirements.yml ${HOME}/requirements.yml
00:00:04.750 --> d570bdbb4787bdd21961591e4194cdbbe08405c3142e6877b94b8c8a6e082169
00:00:04.770 STEP 4: RUN ansible-galaxy collection install -r ${HOME}/requirements.yml  && chmod -R ug+rwx ${HOME}/.ansible
00:00:06.348 Process install dependency map
00:00:06.348 |/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-ERROR! Unknown error when attempting to call Galaxy at 'https://galaxy.ansible.com/api/': <urlopen error [Errno -2] Name or service not known>
00:00:16.105 Error: error building at STEP "RUN ansible-galaxy collection install -r ${HOME}/requirements.yml  && chmod -R ug+rwx ${HOME}/.ansible": error while running runtime: exit status 1
00:00:16.111 Error: failed to output build image quay.io/rht_perf_ci/benchmark-operator:snafu_ci: (failed to exec []string{"podman", "build", "-f", "build/Dockerfile", "-t", "quay.io/rht_perf_ci/benchmark-operator:snafu_ci", "."}: exit status 125)
00:00:16.111 Usage:
00:00:16.111   operator-sdk build <image> [flags]
00:00:16.111
00:00:16.111 Flags:
00:00:16.111       --go-build-args string      Extra Go build arguments as one string such as "-ldflags -X=main.xyz=abc"
00:00:16.111   -h, --help                      help for build
00:00:16.111       --image-build-args string   Extra image build arguments as one string such as "--build-arg https_proxy=$https_proxy"
00:00:16.111       --image-builder string      Tool to build OCI images.


🚀[FEA]: Move IMERG to S3

Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Critical (currently preventing usage)
Please provide a clear description of problem you would like to solve.
IMERG data portal supports downloading form s3, should move to that

Not happening because of egress limitations of IMERG


Chaos Studios Experiment Tag Support

ARM (Control Plane) API Specification Update Pull Request

Tip: overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

 Click here to see the details of Step 1
Breaking changes review (Diagram Step 1)
If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

 Click here to see the details of Step 2
ARM API changes review (Diagram Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

 Click here to see the diagram footnotes
Diagram footnotes
[1] ARM review queue (for merge queues, see [2])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.

Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (If API spec is not defined in TypeSpec, the PR should have been generated using OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[ ] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[ ] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the Diagram Step 2, "ARM API changes Review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Please get SDK breaking changes reviewed from SDK reviewers.

Hello @rkmanda , I want to confirm that all the breaking changes here were addressed and approved when moving from preview version 10-27-2034-preview to stable version 11-01-2023 and we do not need to worry about those for this PR correct? Furthermore, if we can hold off on merging this after your approval I would appreciate it, I still want my team members to take a look.

/azp run

@RenzoPrettoMS , what's the difference between the api version 2024-01-01 and 2023-11-01? I'm reviewing JS sdk breaking change, and feel strange about these breaking change.

@kazrael2119 We are updating our OpenAPI Spec to support Tagging for this resource. The base resource is a tracked resource so no change needed to be done there, however we did need to update our Patch model to support taking in Tags.

@kazrael2119 We are updating our OpenAPI Spec to support Tagging for this resource. The base resource is a tracked resource so no change needed to be done there, however we did need to update our Patch model to support taking in Tags.

Could you add below directive in your api version tag? That's why sdk generation got breaking change.
https://github.com/Azure/azure-rest-api-specs/pull/26942/files#diff-f8dc50ff04e40dd994969e5780b19c1c618016e82e1227aa75c9706547477426L47-L83

Im sorry, what do you mean the directive?

Im sorry @kazrael2119 , what do you mean the directive?

@RenzoPrettoMS , in 2023-11-01, someone add directive:
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

in it in readme.md. And we have released that api version.
So if you don't add these directive in your api version 2024-01-01 in readme.md, we will have unnecessary breaking changes in sdk generation.

Added it now! Thank you for explaining @kazrael2119 !

Please hold this PR and do not merge yet until my team can also do a final review.

/azp run

@rkmanda We are trying to use additionalProperties for our current response model for successful async OperationResults (Location header pattern) but linting is saying that this is now disallowed for all cases other than tags and identities. We plan to pursue surfacing operationResults on a per-resource type basis in the future, which will better support the different response models for completed async operations, but can this get an approval exception in the near term?

@rkmanda We are trying to use additionalProperties for our current response model for successful async OperationResults (Location header pattern) but linting is saying that this is now disallowed for all cases other than tags and identities. We plan to pursue surfacing operationResults on a per-resource type basis in the future, which will better support the different response models for completed async operations, but can this get an approval exception in the near term?

@RenzoPrettoMS - This is not a model that will get an exception for the additionalProperties/empty object pattern. For your scenario, take a look at the discriminator pattern at https://swagger.io/specification/v2/ plus the x-ms-discriminator-value extension: https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-discriminator-value.

Removed OperationResults from this PR, will discuss further with ARM on how to move forward and will include in future PR with new API version.

/azp run

/azp run


TypeRepr of constructor parameters unreliable - dependent on compilation order

The TypeRepr of class constructor parameters is sometimes wrong. Instead of an AppliedType sometimes a plain TypeRef is returned, missing type parameters.
Compiler version
3.0.0, 3.3.2, 3.4.1-RC1
Minimized code
https://github.com/OndrejSpanel/surface-sandbox
The repo contains two reproduction methods: default branch contains a minimized repro, branch surface-repro contains repro using aiframe-surface library, which is how the issue was originaly found.
  println(Surface.func[TypeUtils.Wrap])

import scala.quoted.*

object Surface:

  def funcImpl[A](using tpe: Type[A], quotes: Quotes): Expr[String] = {
    import quotes.*
    import quotes.reflect.*

    val t = TypeRepr.of(using tpe)
    println(s"func ${t.show}")

    val paramStrings = t.typeSymbol.primaryConstructor.paramSymss.flatten
      .map(s => s.tree.show)
    val output =  paramStrings.mkString(",")
    println(s"params $output")
    Expr(output)
  }

  inline def func[A]: String = ${ funcImpl[A] }

import scala.quoted.*

object TypeUtils {
  trait MyOption[T]

  class Wrap(val option: MyOption[Int])

  def macroImpl(using Quotes): Expr[Unit] = '{ }

  inline def myMacro(): Unit = ${ macroImpl }
}

Output
val localOpt: TypeUtils.MyOption[scala.Int]
val option: TypeUtils.MyOption

Expectation
Output for option should contain correct parameter type including type parameters. same way as localOpt does.
Note
The reproduction depends on compilation order. If you uncomment the line containing TypeUtils.myMacro(), the issue disappears and the output is as expected:
val localOpt: TypeUtils.MyOption[scala.Int]
val option: TypeUtils.MyOption[scala.Int]

Symbol.tree is not recommended to use in macros, as it not guaranteed to return the tree, since the compiler itself may not have access to it at that point. Looking at the minimisation, you can achieve the same effect (get the constructor parameter types) by using:
val paramStrings = t.typeSymbol.primaryConstructor.paramSymss.flatten.map(s => t.memberType(s))

With that said, even when passing "-Yretain-trees" compilation option, which should help, I see that the type parameter can still be missing, so this is worth looking into.
Minimisation for scalac:
macro.scala
import scala.quoted.*

object Surface:

  def funcImpl[A](using tpe: Type[A], quotes: Quotes): Expr[String] = {
    import quotes.reflect.*

    val t = TypeRepr.of(using tpe)

    val paramStrings = t.typeSymbol.primaryConstructor.paramSymss.flatten
      .map(s => s.tree.show)
    val output =  paramStrings.mkString(",")
    println(s"params $output")
    Expr(output)
  }

  inline def func[A]: String = ${ funcImpl[A] }

main.scala:
object Main {
  println(Surface.func[TypeUtils.Wrap])
}

TypeUtils.scala
object TypeUtils {
  trait MyOption[T]
  class Wrap(val option: MyOption[Int])
}

Running:
scalac -d . macro.scala main.scala TypeUtils.scala
will print:
params val option: TypeUtils.MyOption

After which, running something like (with paths to stdlibs adjusted, and the previous output added onto the clsspath like a build tool would do):
scalac -cp /Users/jchyb/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.12/scala-library-2.13.12.jar:/Users/jchyb/Documents/workspace/dotty/library/../out/bootstrap/scala3-library-bootstrapped/scala-3.4.2-RC1-bin-SNAPSHOT-nonbootstrapped/scala3-library_3-3.4.2-RC1-bin-SNAPSHOT.jar:. -d . main.scala
will print the correct type:
params val option: TypeUtils.MyOption[scala.Int]

I am bitten by this again. This time it is Array[Int] for which I get its TypeRepr as Array (note the missing type argument). I will check if I will be perhaps able to create a more appealing repro.
Working with macros and reflection is already hard enough - with issues like this it becomes more like a nightmare. 😢

you can achieve the same effect (get the constructor parameter types) by using:
val paramStrings = t.typeSymbol.primaryConstructor.paramSymss.flatten.map(s => t.memberType(s))

Thanks for the advice. This works well well for my use case. I will submit a PR to airframe implementing this.

After investigating for a bit I am afraid that in general this is not something we can/should fix. The issue shows itself when compiling 2 times. First when compiling all files simultenaously, and second, when recompiling only the macro and main methods, using previous artifacts in the way of incremental compilation.
The first compilation shows a TypeTree without a type parameter, and the second will show one with type parameter.
To understand why this is the case we need to follow how the macro is being expanded by the compiler and what the tree method does.
The symbol.tree method return the program tree that is being assigned to the symbol at the point of the macro expansion. So for example, that tree can be different for transparent inline and non-transparent macros by design, as both happen at the different stages of compilation. This is also affected by the way files are suspended when compiling.
In our first case, the macro code depends on another file (compilation unit) TypeUtils.scala, so that file is fully compiled before the macro is being expanded. This causes the the program tree there to go through the TypeErasure phase, which removes type parameters, among other things. So by the time we inspect the tree there, the type parameter no longer exists.
In the second case, when expansing the macros both the symbol and tree are read from the TASTy file produced in a previous compilation, which includes those type parameters.
In summary:
Both trees are correct, the first is generated after TypeErasure due to this being the first compilation (so it makes sense that it does not have a type parameter), and the second after unpickling TASTy (where type parameters are kept).
@nicolasstucki should we close this as a wontfix?

After investigating for a bit I am afraid that in general this is not something we can/should fix. The issue shows itself when compiling 2 times. First when compiling all files simultenaously, and second, when recompiling only the macro and main methods, using previous artifacts in the way of incremental compilation.
The first compilation shows a TypeTree without a type parameter, and the second will show one with type parameter.
To understand why this is the case we need to follow how the macro is being expanded by the compiler and what the tree method does.
The symbol.tree method return the program tree that is being associated with the symbol at the point of the macro expansion. So for example, that tree can be different for transparent inline and non-transparent macros by design, as both happen at the different stages of compilation. This is also affected by the way files are suspended when compiling.
In our first case, the macro code depends on another file (compilation unit) TypeUtils.scala, so that file is fully compiled before the macro is being expanded. This causes the the program tree there to go through the TypeErasure phase, which removes type parameters, among other things. So by the time we inspect the tree there, the type parameter no longer exists.
In the second case, when expansing the macros both the symbol and tree are read from the TASTy file produced in a previous compilation, which includes those type parameters.
In summary:
Both trees are correct, the first is generated after TypeErasure due to this being the first compilation (so it makes sense that it does not have a type parameter), and the second after unpickling TASTy (where type parameters are kept).


Subtitles support in player

Hi. I am looking to integrate subtitles (.srt) in this player. But unfortunately, there is no support available for this.

Hi @smartharris,
The current Sandstone video player is simply Sandstone-themed video element. If you need any additional features, you can make it your own and attach the feature to the MediaControls.  https://enactjs.com/docs/modules/sandstone/MediaPlayer/#MediaControls.
We are listening to the requirement to add subtitles supporting. We will add it to the todo list. I can't tell you when we will add but I promise to add it.
Thanks.

Hi @smartharris
would be helpful to create a guide doc for you if you tell me what kind of app are you making for which device using Enact Video Player.
As you can see the below link, web standard video element doesn't support srt file but we are working on it with vtt file anyway.

Hi @seunghoh
I am developing an OTT application for Samsung Tizen TVs using EnactJS.

I am using SRT files for subtitles on other platform (Web/Android/iOS). When i received my content details from an endpoint, the endpoint contains content information (Playable link and Subtitles link). I fetched every content's subtitle link and pass it to the respective platform's player.

As Enact component is based on the W3C standard media support, I can't say we will add srt file support.
However, Enact Video player has many rooms to customize, you can customize.
There is a pattern on Enact Video Player - https://github.com/enactjs/samples/tree/master/sandstone/pattern-video-player
and Full docs for Video player is - https://enactjs.com/docs/modules/sandstone/VideoPlayer/

We've added VideoPlaerCustom sample. It shows how to support vtt format subtitle.
https://github.com/enactjs/samples/tree/develop/sandstone/pattern-video-player-custom
Close this issue. Hope this helps.

I need to know when it is on live @seunghoh

@arulkumararul2000 you can use it now via referring to the sample https://github.com/enactjs/samples/tree/develop/sandstone/pattern-video-player-custom
The subtitle feature doesn't need the new Enact release.

@seunghoh How to control subtitle font size Give me some guidance please

@arulkumararul2000
You can add styles including font size to the .vtt file as below code.
WEBVTT

STYLE
::cue {
  font-size: 120%
}

00:00:00.000 --> 00:00:02.000
This is a subtitle test.

Thank you @vJIYEv But I need control that font size for example in the subtitleselectionpanel we add some button like small, medium and large like that when the user choose the option that subtitle font size need to change.

i have found a way around to download subtitles from the link, parse the subtitles and show the subtitles to user. Kindly use the following steps to implement subtitles in your application:

Install the dependency: npm i @qgustavor/srt-parser
Import the following in player file:
import SrtParser from '@qgustavor/srt-parser';
Pass the subtitles link in the following code:
const parser = new SrtParser();
const parsed = parser.fromSrt(link_of_subtitles_file_on_the_server);
In your callback "oncurrentplaytime" of your player, paste the following code:
let currentSubtitleLine = "";
parsed.forEach((subtitle, index) => {
const result1 = new Date(currentTime).toISOString().slice(11, 19);
if (result1 >= subtitle.startTime && result1 <= subtitle.endTime) {
currentSubtitleLine = subtitle.text;
}
});
console.log("Current subtitle link as per current time :: ", currentSubtitleLine);

Thank you @smartharris for subtitle i use this https://github.com/enactjs/samples/tree/develop/sandstone/pattern-video-player-custom this is working fine for me but  i am unable to change my subtitle font size.

@arulkumararul2000 You can add styles including font size to the .vtt file as below code.
WEBVTT

STYLE
::cue {
  font-size: 120%
}

00:00:00.000 --> 00:00:02.000
This is a subtitle test.

This is not working @vJIYEv Is there any another option @seunghoh

@arulkumararul2000 Have you tried absolute font size such as font-size: 100px; ?

@vJIYEv Not Working this also font-size: 100px;

Please guide me to do that @seunghoh

Thank you @vJIYEv It is working fine and this is what i made


Check differentiability of custom loss function before training

Feature request was made in #17682.
This is a very common mistake when users define custom loss function / classes which are not differentiable which leads getting None gradients in fitting process. This check makes it easier for users to interpret the problem.
Example usage:
import tensorflow as tf

X = tf.constant([-7.0, -4.0, -1.0])
y = tf.constant([3.0, 6.0, 9.0])

model = tf.keras.Sequential([
  tf.keras.layers.Dense(1, input_shape = (1, ))
])

class customloss(tf.keras.losses.Loss):
    def call(self, y_true, y_pred):
        return tf.round(tf.square(y_true - y_pred))

model.compile(loss=customloss(),
              optimizer="adam",
              metrics=["mae"])

Raises:
ValueError: The provided loss function (<__main__.customloss object at 0x7f49c5dffeb0>) is not differentiable.
Training requires a differentiable loss function. Please review your loss function or consider using a standard
differentiable loss function. You can disable the differentiability check by setting experimental_check_loss_differentiability=False' in 'model.compile()'.

You can see the other usages from this gist.

will continue the discussion on the issue #17682 to re-scope this PR.

@haifeng-jin Can you take a look at it again? This now supports custom layers aswell.

@haifeng-jin Can you take a look at it again? This now supports custom layers aswell.
While checking custom layers (can throw any error while checking), it uses nested try-except blocks which may not be the best practice.

Hi @haifeng-jin,
Is there an update for this? I see the questions of new users (new to Keras) tries to use a non-differentiable loss function every two weeks in Stackoverflow.

Need an review from @qlzh727 since I do not have enough knowledge to review this PR.

Hello, Thank you for submitting a pull request.
We're currently in the process of migrating the new Keras 3 code base from keras-team/keras-core to keras-team/keras.
Consequently, merging this PR is not possible at the moment. After the migration is successfully completed, feel free to reopen this PR at keras-team/keras if you believe it remains relevant to the Keras 3 code base. If instead this PR fixes a bug or security issue in legacy tf.keras, you can instead reopen the PR at keras-team/tf-keras, which hosts the TensorFlow-only, legacy version of Keras.


Move Maps data-plane docs to master to enable OpenAPI Hub usage to publish docs

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

/azp run automation - sdk

Looks like AutoRest seems to fail building the repo. Created a a bug with autorest team

Can one of the admins verify this patch?


Can't use relative imports above jsr.json location

I am doing this in mod.ts:
import { NostrEvent } from '../interfaces/NostrEvent.ts';

It fails:

I am importing ../interfaces/NostrEvent.ts while having ./jsr.json. So the file I'm importing is above jsr.json
If I move jsr.json up a directory, it works. But I don't want to do that, because I'm trying to manage multiple packages in one repository, with some code copied between them. Kind of like a monorepo.
deno publish --dry-run doesn't complain. But the package is refused by JSR.
The package is: https://jsr.io/@nostrify/ndk (Which I finally got to work by temporarily moving jsr.json up one directory)

Workspace support in Deno isn't ready yet. Having proper support for workspaces in Deno would resolve this. Support for workspaces is being tracked here https://github.com/denoland/deno/issues/22942

Good to know. But this problem would occur even with ~/Projects/myproj/mod.ts importing ../otherproj/b.ts
Importing local code from outside of the JSR working directory should work, right?

Right now the assumption is that the packages jsr.json/deno.json is at the root of the package. Once support for workspaces land it will be possible to reference packages in other folders, but not importing files from above the package folder. It's very unlikely that we'll ever add support for that as it introduces significant complexity and edge cases during the publish process.
We haven't decided on that in the team yet, but my feeling is that we'd rather spent time working on other JSR stuff in the coming months. I wouldn't plan my code around this being supported anytime soon (if at all).

Thank you for clarifying @marvinhagemeister
In that case I'll close this in favor of https://github.com/denoland/deno/issues/22942


[adapter] api crud with vhosts changes not working properly

Issue
Api identifier was a combination of vhost and uuid of API resource. When a API changes with vhost there is no mapping to identify the old API.
Fix
Used another internal map for xDS cache called orgIDAPIvHostsMap which keeps api to vhost mapping and use uuid of API resource as the apiIdentifier everywhere.
Removed code to getting vHost from the apiIdentifier using ExtractVhostFromAPIIdentifier.
Fixes
https://github.com/wso2/apk/issues/588

Codecov Report
Base: 32.22% // Head: 32.18% // Decreases project coverage by -0.04% :warning:

Coverage data is based on head (2a3c60e) compared to base (2cd1a49).
Patch coverage: 7.20% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #612      +/-   ##
==========================================
- Coverage   32.22%   32.18%   -0.04%
==========================================
  Files         129      131       +2
  Lines       13921    14165     +244
  Branches     4114     4114
==========================================
+ Hits         4486     4559      +73
- Misses       9344     9512     +168
- Partials       91       94       +3

Impacted Files
Coverage Δ

adapter/internal/oasparser/model/http_route.go
0.00% <0.00%> (ø)

adapter/internal/oasparser/model/mgw_swagger.go
1.60% <ø> (ø)

.../internal/operator/apis/dp/v1alpha1/api_webhook.go
29.90% <0.00%> (+24.53%)
:arrow_up:

...operator/apis/dp/v1alpha1/zz_generated.deepcopy.go
0.00% <0.00%> (ø)

...internal/operator/controllers/dp/api_controller.go
0.00% <0.00%> (ø)

adapter/internal/discovery/xds/server.go
6.51% <1.12%> (+0.08%)
:arrow_up:

...ternal/oasparser/envoyconf/routes_with_clusters.go
54.99% <50.00%> (+2.59%)
:arrow_up:

adapter/internal/operator/utils/utils.go
22.80% <52.00%> (ø)

...l/operator/apis/dp/v1alpha1/backendpolicy_types.go
100.00% <100.00%> (ø)

...rtal/devportal-domain-service/ballerina/apiDAO.bal
72.30% <100.00%> (+1.33%)
:arrow_up:

... and 4 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


[SPARK-32661][K8S] Spark executors should request extra memory for off-heap allocations.

What changes were proposed in this pull request?
Off-heap memory allocations are configured using spark.memory.offHeap.enabled=true and conf spark.memory.offHeap.size=<size>. Spark on YARN adds the off-heap memory size to the executor container resources. Spark on Kubernetes does not request the allocation of the off-heap memory. This PR proposes to make Spark on Kubernetes behave as Spark on YARN, that is by adding spark.memory.offHeap.size to the memory request for executor containers.
Why are the changes needed?
Currently, this issue can be worked around by using spark.executor.memoryOverhead to reserve memory for off-heap allocations. This PR proposes to provide a more clean solution and align with Spark on YARN.
Does this PR introduce any user-facing change?
Yes: when running on K8S, the memory specifies in spark.memory.offHeap.size will be added to the executor container memory request.
How was this patch tested?
A unit test is provided.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #127821 has started for PR 29477 at commit b7647cf.

Test build #127821 has finished for PR 29477 at commit b7647cf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127821/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/32446/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/32446/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32446/
Test FAILed.

Thanks you @dongjoon-hyun for picking this up quickly and for your review.

Test build #127839 has started for PR 29477 at commit 5600542.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127839/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/32465/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/32465/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32465/
Test PASSed.

@dongjoon-hyun I see that this is a minor bug. I'd say that if there is no time or necessity to fix this during the current phase of Spark on K8s GA preparation, another option could be just to add a note in the documentation, with somehting like  "Executors on K8S will not allocate extra memory for off-heap allocations based on the configuration spark.memory.offHeap.size, differently from what happens with executors on YARN. Users will have to allocate the extra memory needed for off-heap allocations on K8S using the configuration parameter spark.executorMemoryOverhead and/or spark.kubernetes.memoryOverheadFactor."

@LucaCanali  do you have time to update this?

I'm going to add this support under - https://issues.apache.org/jira/browse/SPARK-33288 unless you have time to finish this one. I'll reference this in that PR

Thank you @tgravescs


Expose the ID parameter for service definitions

Its useful to be able to override the ID parameter, as these need to be unique per node.

Can you add a docstring for this new parameter?

I closed this PR because I pushed to master in my fork instead of branches. Will reopen as a new PR


Support React Native 0.47

Closes #43
Removes the @Override - this change is backward compatible
https://github.com/getsentry/react-native-sentry/pull/172 - same as Sentry's approach

cc @jordanbyron

@AndrewJack I'll take a look at this next week. Right now I'm away on vacation. Thanks for the PR! ⛰


Job at last day of month

I setup an job run at last day of month.
class MonthlyReminderJob
  include Sidekiq::Worker
  sidekiq_options queue: :test, retry: true

  def perform
    timezone = ENV['TIME_ZONE']
    tomorrow = DateTime.now.in_time_zone(timezone).tomorrow

    return unless tomorrow.day == 1

    // TODO
  end
end

sidekiq.rb
jobs = {
  'name' => 'send_monthly_reminder,
  'class' => 'MonthlyReminderJob',
  'cron'  => '0 8 28-31 * * Asia/Kuala_Lumpur',
  'queue' => 'test'
}

But it's not working at 31/07. Today (01/08), I visit sidekiq/cron and saw Last enqueued is 2 days ago

Hi @HienNguyenAsnet pls read documentation for rufus-scheduler
which is used for resolving cron notations in Sidekiq-Cron
this: https://github.com/jmettraux/rufus-scheduler#l-last-day-of-month
part is what you are looking for.
Pls let me know if it works

Thank @ondrejbartas. Let me try

It's working wrong with timezone
Rufus::Scheduler.parse('0 8 L * * Asia/Kuala_Lumpur').next_time
=> 2017-09-01 08:00:00 +0800

No idea what are you doing but in rails project it looks like this

hi @ondrejbartas, you set 08:00 at Kuala Lampur which translates to 0:00 UTC, and is showing 08:00 UTC, so no conversion between timezones.

@pedroadame which ruby version are you using?

@ondrejbartas Currently is ruby 2.4.0.

@pedroadame any news? Sorry for not responding sooner. I have no idea why it works for me and not for you

@ondrejbartas The problem is in your screenshot. 08:00 on Kuala Lampur doesn't match with 08:00 UTC, and that's what is showing in your screenshot here: https://github.com/ondrejbartas/sidekiq-cron/issues/166#issuecomment-320257657

The issue doesn't happen often and uniformly
This is Prod server

This is QA server


refactor: Alias function for safe_sign_and_submit_transaction called sign_and_submit

High Level Overview of Change
Added alias function for safe_sign_and_submit_transaction called sign_and_submit
Context of Change
safe_sign_and_submit_transaction is too long and unnecessary -- potentially deprecate/remove in xrpl-py 2.0
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

Similar deal - it'd be good to have at least one test case for the new alias to ensure it works the same as the old verison.


Potion Support

Currently, to change a custom potion effect, you need to find the potion with the corresponding ID from the string, and then change the effect duration and strength.
What I would like to see added is a potion-specific GUI like attribute or display.

Would be great, there's no 1.21.1 potion editor yet and I'm trying to move from 1.20.1 to 1.21.1


fix(gatsby-ipfs-web-wallet): Updating to v1.20.0

:tada: This PR is included in version 1.3.8 :tada:
Your semantic-release bot :package::rocket:


add css-mqpacker

https://github.com/hail2u/node-css-mqpacker

This is already being tracked.
https://github.com/ben-eb/cssnano/issues/111


adding active flag to expense and destination attributes

@labhvam5 please resolve pylint errors and bump version before merging


Test harness

Refactor the entire parser into re-usable group of date, time parsers.  This is second attempt, i reverted last one to fix a few things, re-committing.
Refactor into good test harness.

Codecov Report

Merging #48 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #48    +/-   ##
======================================
  Coverage     100%   100%
======================================
  Files           1      1
  Lines         901    612   -289
======================================
- Hits          901    612   -289

Impacted Files
Coverage Δ

parseany.go
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add CBOR support

Add CBOR support to LwM2M server and client introduced with the LwM2M 1.1 standard. This PR is based on work from @sbertin-telular with changes to work with the current build system. Thanks for the contribution.
CBOR support can be enabled by compiling the client with LWM2M_SUPPORT_SENML_CBOR flag enabled. The server will support SenML-CBOR when compiled with LwM2M 1.1 support.

I'm not involved in any projects using LWM2M anymore, so don't wait for my review. My only objection remains the use of the gcc specific _Pragma.


Improve the text at the top of the home page

Received the latest home page text from the product team.

hh


Websocket closes

Hi,
When I use the websocket, it stops receiving data after three or four hours. It doesn't raise an error. It doesn't report "Socket Closed" or anything. It just stops receiving data. I don't know if this is an issue of the GDAX API or an issue of gdax-python.

Same here.  It just stops after a few hours of running.  I just automatically reset the websocket every 60 mins and it seems to be the only option right now

Same, I get the No JSON object could be decoded error.

Battlestar, how do you close the stream and restart it in your code?  I'll have to do the same.  Thanks!

gdax-node includes a pinger in their websocket code to keep the connection alive:
// Set a 30 second ping to keep connection alive
self.pinger = setInterval(function() {
  self.socket.ping("keepalive");
}, 30000);

Just a hunch, but I bet adding a pinger would help.

Thanks @acontry -- I have added a pinger.  Please open a new issue if you continue to experience this.  It will be pushed to PyPI in the next few weeks.


runtimeVersion error only mentions nvm-windows

Issue Type: Bug
Testing #44452
Steps to reproduce

Install NVS

Don't use NVS

Try launching:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch test",
            "runtimeVersion": "9.6.1",
            "program": "${workspaceFolder}/index.js"
        }
    ]
}

bug
Error message says:
Attribute 'runtimeVersion' requires Node.js version manager 'nvm-windows' (no environment variable 'NVM_HOME').

It does not mention that nvs is also supported.
VS Code version: Code - Insiders 1.21.0-insider (1a84a882737184488d965426747a05474f54a759, 2018-02-27T09:01:48.555Z)
OS version: Windows_NT x64 10.0.17052

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz (6 x 1896)

Memory (System)
31.93GB (17.43GB free)

Process Argv
C:\Program Files\Microsoft VS Code Insiders\Code - Insiders.exe

Screen Reader
no

VM
0%

Reproduces only with extensions

duplicate of https://github.com/Microsoft/vscode/issues/44605


Fix a false negative for RSpec/RedundantAround when redundant numblock around

This PR fixes a false negative for RSpec/RedundantAround when redundant numblock around.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[-] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

The test that is now failing in CI / Edge RuboCop: spec will also succeed with this PR.
https://github.com/rubocop/rubocop-rspec/actions/runs/4719248419/jobs/8369824309?pr=1600


[composer] History UX

Building on #5762 one should be able to see a more advanced view of the full history of undoable actions, then move to a specific point
Intent history will only get you so far here and likely needs ECHO history integration as well
This may need to consider not just intents fired on your device though because the state you're trying to go back to may be a factor of remote changes as well

The desire to see the full history of undoable actions reminds me of undo-tree in Emacs:

We can take inspiration from there if we think it's useful.
(For those that haven't used something like undo-tree: it fixes the problem of typing a bunch of stuff, hitting undo a bunch, then typing something else. At this point with a standard linear undo system you've permanently lost the first text you typed. With a tree you can get back to that branch.)


add unit tests for 'ToCamel' function

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f7a22ad) 25.75% compared to head (621ca67) 27.51%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   25.75%   27.51%   +1.75%
==========================================
  Files          14       14
  Lines        1025     1025
==========================================
+ Hits          264      282      +18
+ Misses        757      739      -18
  Partials        4        4

Flag
Coverage Δ

Linux
27.51% <100.00%> (+1.75%)
:arrow_up:

Windows
?

macOS
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Allow multiple steamvr folders to be read in options

My Steamvr games are spread out through 3 different drives - would be good if we could add additional folders to watch out for

nevermind sorry. I see that you're supporting multiple processpiority directories already:)


Tom should use XDG directories on Unix (e.g. ~/.config/tom instead of ~/.tom)

As per the subject.
There are Go libraries that somewhat automate this, e.g. github.com/adrg/xdg (this is not an endorsement of that library, it's just the first I found).

Thanks @klausman for reporting! I am not that familiar with path conventions on Linux. Will check/fix this soon.


UserScript Problem

So I correctly booted up the server. On node.js command prompt, it says:
agario-feeeder-bot started! Join a game in Chrome with the userscript installed.
startup
server-booted-up
But in chrome, i don't see any interfaces about the bots' status. I could only zoom out further.

Actually, if I delete that line (or change it to a comment), there are many other lines that have an Illegal return statement.

yeah same

Did you get your ID and put it in config file?

yes, using Chrome

Did you change the IP:PORT in the userscript?

iqual ,I don't show bots either

@WJKH  yes since bots are connecting

Well, I don't know what is the issue here.
F12 and check browser console, any warning/error there?
Where are bots going?
Do you have the last version of all files?

in public servers they work fine, but in Ogar they go straight into a corner

Oh.. you must have started saying that.
Then, it's some issue with Ogar and @davidmann4 should check it to see what happen there.

Is ID the social idea, or the UUid?

UUID

press F12 and take the uuid
I just made an update so it writes "this is your id : " before it was just a ID like 5EG7

Okay so I made progress. The servers runs fine. I used <IP_ADDRESS>  as my local host, and changed something into this var socket = io.connect('ws://<IP_ADDRESS>:8081');   in the userscript. Now when I open 2 command prompts and node feeder and node server  Both of them seem to work fine. But whenever I join in agar.io, there's no bots coming to me.   When i stop the server with ctrl+c on the command prompt, the console on chrome says it has ERR:Connection refused so I know the server is working perfectly fine. I set the bots to 28. Do you want me to record another video to show you what i"m doing and see what I did wrong?

do oyu see bots joining your server? why you run your own feeder server? kinda advance way to do it

really? So var socket = io.connect(  Do I manually put the ws server in this place?  );     and   config.FeederServer as well?     Also fyi, I didn't change the proxy.txt at all except renaming it to proxy.

https://www.youtube.com/watch?v=FVNNo93ZVGg
just made a tutorial maybe it helps

Davidmann you are awesome. When you put in your proxies, do I put in <IP_ADDRESS>:8081 instead?   If I do, do I have to do anything extra like node server.js ?  I got 3 bots by copying the proxies you entered.

actually no, I'll just use the server instead :D I'll see if that works

you will need proxies - yes


How to disable some build steps like TravisCI, Releasing to Gihub etc.

Bug Report or Feature Request (mark with an x)
- [x] feature request

OS and Version?
Windows 10
Generator Version
5.1.0
Tools Version
Output from: 2.0.0,
Output from: 8.7.0,
Output from: 5.5.1 npm
Targeted Angular version
5.x
Desired functionality.
Be able to easily disable some steps, like TravisCI, Releasing to Gihub etc.
For now, the only solution is to edit gulpfile.js?

Hi @skorunka
Right now, you can only specify additional tasks(via config/gulp-tasks) without changing the gulpfile.js.
But to change the current workflow, i'm afraid  you will have to edit the gulpfile.js.
I leave the ticket open for now. I'll think of a way to customize that too, in upcoming releases.
Cheers!

Ok, having it configurable would be a nice feature. Thanks.

Just released v5.3.0 with some options to skip Travis, Covealls, Github Releasing
Enjoy!


Unable to upload large FileField objects using Django admin.

When uploading a FileField object using the Django admin site, the upload fails if the file is larger than a couple MB.
Context
The error received is {"message": "Request Too Long"} if the file is ~5-10MB. Files above 10MB fail with HTTP content length exceeded 10485760 bytes. Smaller files (less than ~2MB) work fine.
I'm using django-s3-storage for static and media file storage.
Expected Behavior
The upload should succeed.
Actual Behavior
The upload fails.
Possible Fix
I believe this is a limitation of API gateway. The solution seems to be to upload files directly to S3, but I haven't found an elegant way to accomplish this using the Django admin site.
I tried zappa_file_widget, but it's out of date and doesn't work with the latest version of Django. I have to believe that I'm not the only person that has run into this and there's a better solution, otherwise I will dig into this project.
Steps to Reproduce
I have a fairly basic project at this point, the model includes a FileField. I'm using django-s3-storage. I believe the issue could be recreated using any basic project with a FileField in the model. I followed the Edgar Roman walkthrough to arrive at my current configuration.
Your Environment
I'm deploying using python 3.6 lambci docker container.
> pip freeze
argcomplete==1.9.3
boto3==1.9.116
botocore==1.12.116
certifi==2019.3.9
cfn-flip==1.1.0.post1
chardet==3.0.4
Click==7.0
defusedxml==0.5.0
Django==2.1.7
django-cleanup==3.2.0
django-s3-storage==0.12.4
django-storages==1.6.6
docutils==0.14
durationpy==0.5
future==0.16.0
hjson==3.0.1
idna==2.8
jmespath==0.9.3
kappa==0.6.0
lambda-packages==0.20.0
mysqlclient==1.4.2.post1
oauthlib==3.0.1
placebo==0.9.0
PyJWT==1.7.1
python-dateutil==2.7.3
python-slugify==1.2.4
python3-openid==3.1.0
pytz==2018.9
PyYAML==3.13
requests==2.21.0
requests-oauthlib==1.2.0
s3transfer==0.2.0
six==1.11.0
social-auth-app-django==3.1.0
social-auth-core==3.1.0
toml==0.10.0
tqdm==4.19.1
troposphere==2.4.5
Unidecode==1.0.23
urllib3==1.24.1
Werkzeug==0.15.0
wsgi-request-logger==0.4.6
zappa==0.47.1
zappa-django-utils==0.4.0

ah, I had similar problem

try to increase the AWS lambda configurations for memory & CPU

you have 30 sec for the request to succeed. this is a AWS Gateway limitation.
You can increate the timeout setting and the request will succeed, but you may not see the success in the response. if you refresh/update the page you will see that the file is uplaoded. (I was having similar problem with django csv import library which required more time to succeed)

so, the problem is not in zappa, but you may want to configure AWS lambda with zappa_settings to use more resources.
these will help you:
"memory_size":3008,
"keep_warm":true,

Thank's for the reply. I tried increasing the memory and timeout before I posted this, and keep_warm was on by default.
Are you able to upload large files then? Which file storage module are you using?

I am using a custom version of Boto3S3Storage from the django-storages.
you can check the reason for this at https://github.com/jschneier/django-storages/issues/606#issuecomment-461762380
How big is your file?

I'd like to upload files in the GB range, but right now I can't even upload a 5MB file. 1-2MB files work, but nothing larger.

then I will recommend you to use a staging ENV and allow DEBUG=True. add your email to ADMINS so that you receive the type of Exception raised.
You may want to consider the image size as a bitmap stored in RAM is less than the configured RAM.
As you know JPG is compressed, but if loaded in memmory for display or handling it may be considered as a bitmap image which takes times and times more memory as compresed.
start with debug=True, you may experience something like problem with the access or something else...

A lambda has limited memory and a hard limit of 500MB of storage available (and you need to account for the space the lambda is using for that). For multiple GBs you can't go through lambda.

Given the hard limits on filesize/timeout in ASW Gateway and Lambda, I believe the ideal solution is to:

Request temporary write access to a specified location in S3 which accepts arbitrarily large files
Instead of uploading the file in the POST/PUT, include the path to the file in S3

This ensures that timeout/filesize limits for Gateway & Lambda are not an issue because the long-running, large file upload is directly from client to S3 which is not subject to Gateway/Lambda limits.
Here is an article detailing the approach: https://sookocheff.com/post/api/uploading-large-payloads-through-api-gateway/
Zappa effectively already supports this pattern but it would require a fair bit of custom code on the backend and front-end. If anyone has ideas about how it could be streamlined in Zappa I'm sure it would be very welcome by the community.


AppLab Quiz Issue

A quiz me and Leonard made over capitals of the world. Took a lot longer than it needed to.
The quiz {click the images, not the text boxes}

Crossover Review:  2.4/3.0

AppLab Quiz made with reflections on troubleshooting issues adjusted.
Start planning a create performance task!


Active menu

Hi Edo,
hope you don't mind if I ask again for help; I really need your script but I'm not able to figure out a couple of issues.
First of all:

active menu. Don't know why, in my menù there is no way to get the active class properly set. Any hint to make it working? The public menù is quite simple ( you can see it here http://gavs.it/_gavs/ in the home page there are two menus, the first one is drawned by your script, the second one it's the template) but using the script I cannot get the selected menù activated.

Second question:

weird, I'm using the config file and the following setting:

    $config["parent_anchor_tag"] = '%s';

just produce the following result:

Thanks a lot for your support and for your script

Hi Edo, I have fixed the issue number 2:
instead
$config["parent_anchor_tag"] = '%s';

I've had to use:
$config["parent_anchor"] = '%s';

I still have to fix the missing activee class issue. Any hint about it?


Fix PythonLibs handling

The FindPythonLibs module reads PYTHON_LIBRARY as a hint but it also sets the same variable when successful. In the latter case, the variable may be set to a list containing target_link_libraries
keywords like "optimized" and "debug" instead of a single filepath. When read as a hint, though, FindPythonLibs only understands a single filepath. Repeated unguarded calls to the module may result in a faulty value of PYTHON_LIBRARY like "optimized;optimized;python3.lib;debug;debug;python3d.lib". Such values entail errors when the linker tries to link against the keywords "optimized" or "debug".
PYTHON_LIBRARY may be a mixed list of keywords and filepaths and should not be used directly in get_filename_component()
Same for passing PYTHON_LIBRARY to PythonQt.
The documented output variable of FindPythonLibs is PYTHON_LIBRARIES instead of PYTHON_LIBRARY, which is an old relict from pre CMake 3.0 (minimal required CMake version of CTK).

Fixed a wrong iterator name I introduced in a last-minute change.

This PR still is not complete, sorry. I just run into a debug linker problem on Windows with CTKScriptingPythonCore for the first time. Eventhough python37_d.lib is set as link dependency something wants to draw in python37.lib. Investigating...

This PR still is not complete, sorry. I just run into a debug linker problem on Windows with CTKScriptingPythonCore for the first time. Eventhough python37_d.lib is set as link dependency something wants to draw in python37.lib. Investigating...

In fact, when linking against python37.lib instead of python37d.lib, everything works fine.

Thank you for working on this, I don't fully understand the details but it's great if you fix such inconsistencies.
Note that we often need to use release-mode Python binaries in applications built in debug-mode because third-party binary packages are only available for release-mode Python. Please make sure that this will remain possible.

Note that we often need to use release-mode Python binaries in applications built in debug-mode because third-party binary packages are only available for release-mode Python. Please make sure that this will remain possible.

No worries, last fix in the pull request is actually right what you describe: prefer using release-mode Python also in debug configuration as debug-mode Python has many implications. Seems to be the adopted standard in other Projects like Qt and Boost as well.


[full-ci][tests-only] Remove @skipOnRevaMaster tag from ocis

Description
This PR remove @skipOnRevaMaster tag from tests code because ocis tests doesn't run on reva master branch
Related Issue

https://github.com/owncloud/ocis/issues/5337

Motivation and Context

How Has This Been Tested?

CI

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

https://drone.owncloud.com/owncloud/ocis/36804/50/5
       Failed step: When user "Alice" uploads file "filesForUpload/zerobyte.txt" to "textfile.txt" using the TUS protocol on the WebDAV API

        Server error: `POST https://ocis-server:9200/remote.php/dav/spaces/de166e33-ba92-4fad-8716-efaa6f657100$0e2f9596-456e-4cda-92d7-91f0231a8fc8/` resulted in a `500 Internal Server Error` response (GuzzleHttp\Exception\ServerException)

I restarted CI.
Is that a flaky test?


Add more info to cook reimbursement form

Meal title, date, cook name

Originally created by Tom Smyth at 2017-09-01 09:00, migrated from redmine-#7049

Status changed from New to Closed

By Tom Smyth at 2017-09-18 13:28

Priority changed from 2 to 1

By Tom Smyth at 2017-09-18 13:10

Version set to 4.5

By Tom Smyth at 2017-09-24 21:40


cargo-workspace plugin ignores changes in workspace.dependencies

We are using release-please github action in manifest mode with cargo workspace plugin.
Repository is using cargo workspaces.
Some of dependencies are set in root Cargo.toml file in [workspace.dependencies].
Update to a dependency with correct prefix should trigger release of all crates that use that dependency, right? But it doesn't.
This PR didn't trigger any changes.

The cargo-workspace plugin currently only builds the dependency tree from the [workspace] definition that declares the modules in the repo and the [dependencies]/[dev-dependencies] sections declared in those modules' Cargo.toml files.
Personally, I am unfamiliar with the full capabilities of Cargo for rust packages and this plugin was created by the community. If this [workspace.dependencies] is a legitimate way of declaring extra dependencies, then we'd love a community contribution to augment the building of the dependency tree.

Just wanted to chime in to say we just hit this. I'll take a look at possibly making a contribution to fix.

Just for context, [workspace.dependencies] is more sophisticated than just "extra" dependencies. It allows you to specify a global dependency version with optional default features for that dependency. Then, a workspace member crate can inherit that workspace root dependency and overwrite the default features if needed. Relevant documentation here.
So in order to factor this in, we need to check for dependencies in a crate's manifest that have workspace = true set. If present, the dependency is inherited from the workspace root manifest, so changes at the root level will determine whether or not the member crate's dependency has changed.

@chingor13 there is a code path in the rust strategy that appears to handle a workspace with multiple crates. However, this seems to be distinct from (and perhaps unrelated to) the cargo-workspace manifest plugin. We don't seem to hit that code path in our release process, for example. Do you have any context for this? Is this code path perhaps a deprecated/disused strategy for handling cargo workspaces?

:rotating_light: wow, it looks like there is some kind of NPM supply chain crisis related to Octokit going on right now. Builds on this repo are failing, and I actually can't compile my patch to test if it works.
Some related issues in the Octokit supply chain:

https://github.com/googleapis/release-please/issues/1945
https://github.com/octokit/rest.js/issues/290
https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/632
https://github.com/octokit/plugin-paginate-rest.js/issues/521

This appears to be impacting the CI jobs on this project as well.
Anyway, I have a WIP but as-yet-untested patch going here: https://github.com/googleapis/release-please/compare/main...cdata:release-please:fix/support-cargo-workspace-dependency-inheritance
I'll check back in a few days and hopefully release-please will be buildable at that time. If you have any tips for building it under the current NPM supply chain conditions, please share!

I was able to temporarily patch package.json to get around this per the suggestion from @ben-foxmoore here: https://github.com/googleapis/release-please/issues/1945#issuecomment-1538616889

My patch isn't cleaned up yet, but as a proof of concept I believe it is working. Going to be deploying it on our project to test it out.

After trying it out on our project and fixing a few bugs, my patch seems to be working. If you try it out and hit any issues, please let me know! I'll add some tests and open a PR soon.


Doesn't work at all?

$ gem install slack
$ irb
>> require 'slack'
=> true
>> Slack::Client
NameError: uninitialized constant Slack::Client

>> Slack.configure {|c| c.token = 'banana' }
NoMethodError: undefined method `configure' for Slack:Module

oooooooh gem name is slack-api got thrown off by require 'slack' name and it working

Same errors after gem install 'slack-api'

try gem uninstall slack and rerun irb
if don't work, show me
ruby -e 'b = $LOADED_FEATURES.dup;require "slack";puts ($LOADED_FEATURES-b)'

$ mkdir banana

$ cd banana/

$ gem install 'slack-api'
Successfully installed slack-api-1.5.0
1 gem installed

$ irb
>> require 'slack'
=> true
>> Slack::Client
NameError: uninitialized constant Slack::Client
    from (irb):2
    from .rvm/rubies/ruby-2.1.5/bin/irb:11:in `<main>'
>> Slack.configure
NoMethodError: undefined method `configure' for Slack:Module
    from (irb):3
    from .rvm/rubies/ruby-2.1.5/bin/irb:11:in `<main>'
>>

$ ruby -e 'b = $LOADED_FEATURES.dup;require "slack";puts ($LOADED_FEATURES-b)'
.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/path_support.rb
.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb
.rvm/gems/ruby-2.1.5/gems/speck-1/lib/speck/battery.rb
.rvm/gems/ruby-2.1.5/gems/speck-1/lib/speck/check.rb
.rvm/gems/ruby-2.1.5/gems/speck-1/lib/speck.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins/object.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins/boolean.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins/proc.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins/speck.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins/speck/check.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack/mixins.rb
.rvm/gems/ruby-2.1.5/gems/slack-0/lib/slack.rb

You are requiring slack gem, Use bundler or uninstall slack gem.

# Gemfile
source "https://rubygems.org"

gem "slack-api"

$ gem install bundler
$ bundle install
$ bundle exec irb

works find for me, but only with a legacy api token


I want to configure a generic Bulkhead and Retry in Spring Cloud Gateway

I'm always frustrated when I configured the circuit breaker through the Resilience4JCircuitBreakerFactory, I didn't seem to be able to do the same for the rest of the Resilience4J

Can you provide examples of what else you want to do?

Well, I wanted to integrate all of Resience4J features into the Spring Cloud Gateway. Of course, it was just a whim on mine

Really this library is specifically around circuit breakers, Resilience4J provides many other features, so I am not sure they make sense in this library.
That said, is there something preventing you from using the rest of the Resilience4J features?

I have a similar question regarding supporting Bulkhead module
I'm planning to migrate from Hystrix to spring-cloud-starter-circuitbreaker-resilience4j. In Hystrix we have possibility to configure and control a thread pool for each request Hystrix Threads & Thread Pools. Resilience4J provides module Bulkhead to do similar things, and it can be useful to resolve this problem.
But as I can see in class Resilience4JCircuitBreaker all requests will be executed in  one shared executor service
In this case usage of Buldhead module can't help me. Yes, circuit breaker and time limit will be executed in a separate thread but in the end all requests will be executed in one executor service

For example, I want to use the Resience4J retry function to replace the retry function of Spring Cloud Gateway itself.
But I can't seem to find an easy way to implement this idea. This may seem like a thankless task, but Spring Cloud Gateway has its own retry implementation.Sorry, my idea seems ridiculous

@Ferioney using the Bulkhead module as opposed to the generic ExecutorService makes sense.  I have opened a separate issue to support that https://github.com/spring-cloud/spring-cloud-circuitbreaker/issues/86

@gentlelegant

I want to use the Resience4J retry function to replace the retry function of Spring Cloud Gateway itself.

This is an issue that should be opened in the Spring Cloud Gateway project as it doesn't have anything to do with the circuit breaker directly.
I want to use the Resience4J retry function to replace the retry function of Spring Cloud Gateway itself.
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#the-retry-gatewayfilter-factory

@ryanjbaxter Thank you!

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


fix: guard against missing data elements by using lodash.get

Motivation
Which issue does this fix? Fixes #18 (perhaps only partially -- I used lodash, which was already referenced by the project; if this approach is acceptable, it could be applied elsewhere)
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added (I don't see any existing testing?)
[ ] Tests are passing
[ ] Docu has been updated (if applicable)
[ ] Temporary settings (e.g. project ID used during development and testing) have been reverted to defaults

How to test
Should solve the problem with partial data causing dereference errors in Articles and Article components

thanks for the PR, @fluffynuts ! we're on it :)

Hello @fluffynuts,
when I run the application and open articles. I got an error:
TypeError: Cannot read property 'formatDate' of undefined
    at mapArticle (MapArticle.js?4863:7)
    ...

That is caused by the extraction of mapArticle to the separate module and this is not a component you are calling it from.

Personally, I would prefer to have all the utility functions to be the pure functions and to not depend on context (this context in that case).

Ideal case
Have a universal solver module that would resolve the path to an object or return the localized string. Lodash offers that functionality with combination with VueI18n from vue-i18n which is already used in application
// For resolution of i.e. title.value of the article in Articles component
_.get(article, 'title.value', $t('Articles.notitlevalue'))

And have the record in src/Localization/en-US.json and src/Localization/es-ES.json in format:
// Format
{
{
    "locale": "en-US",
     ...
    "Articles": { // component name
        "notitlevalue": "(Article has no title)"
    }
   ...

I am OK to use this on article + articles  as a showcase and I would raise the oissue to implement is for the rest of the components.
If anything is unclear, feel free to ask @fluffynuts!

I hope this is more in line with what you'd prefer?

apologies about the rogue this. I don't have a Kentico site to test against -- so this is a good case for code review (:
apologies for missing i18n -- it's so important to use it throughout when an app is supposed to have translations

Hello @fluffynuts,
for the testing purposes it is possible to generate your own project and then modify Client.js to use the preview API.
Basically what you would do is:

run npm install
run npm run serve
App should show the configuration page (if not you have already project ID set in cookies - just delete prijectId from cookies and refresh or go to /Administration/Configuration page)

Hit Get Project ID from Kentico Cloud
Hit Create a sample project

After the new project is generated app should display its content
Edit Client.js and place projectId and preview API key as described [here] https://github.com/Kentico/cloud-sample-app-vue#connecting-to-your-project-manually

Please see the inline comments in code.

Hey @fluffynuts,
we would like to thank you for contributing to Kentico's open-source project. As a sign of our appreciation, we would like to send you some Kentico Developer Community SWAG!
Please fill out your postal address if you are interested.
This comment was automatically generated. If you've submitted more than one pull request, it's OK to fill out the form just once.
Kentico Developer Community
If there’s anything we can do to help, please don’t hesitate to reach out to us at<EMAIL_ADDRESS>

@Simply007 hey, thanks! I appreciate it & have filled out the form (:

Hello @fluffynuts,
I have gone through the changes you have made and I have tried to show you, how to implement guarding for all the occurrences of article data (home page, articles and article detail).
I have created a pull request to your branch:

https://github.com/fluffynuts/cloud-sample-app-vue/pull/1

Go through the changes I have made and then please polish the code:

remove hardcoded projectId and preview API key from Client.js

I have also provided a vue.cli.config for easies debugging:

you can try it by this tutorial https://vuejs.org/v2/cookbook/debugging-in-vscode.html

Hope that would be usefull!
After you approve the pull request to your branch and remove hardcoded API keys I am more than happy to merge this pull request!

@Simply007 I've merged in your branch -- I remember thinking that I needed to remember not to include client & project id's -- and then I did anyway facepalm. But that makes me think -- wouldn't it make sense to perhaps get those bits of information from another file which is mentioned in .gitignore? I would imagine that a company would really prefer not to make the mistake that I just did, letting their secrets out into the wild.
I tried reading from process.env, but that didn't work out-the-box -- not sure if there's a "proper" way to do that, since I didn't find a definitive answer from a quick web search. Thoughts?

I have also created an issue #23 for API key extraction.

I have decided to merge your pull request and then fix the latest articles in a separate one, to have the feature in place.
Thanks @fluffynuts for contribution!


version up to upload to maven repository

What is the necessity of this update? What is updated?
To upload to maven repository.
How did you do the test? (Not required for updating documents)
It can be uploaded to maven repository

@koijima Could you pleas confirm this PR?

Thank you for upgrading.


Out of Range Value for Argument "def" - Running Open-Source Ethernet Networking Realsense Demo

Required Info

Camera Model
{ D400 }

Firmware Version
(<IP_ADDRESS>

Operating System & Version
{Linux (Ubuntu 18)

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
Raspberry Pi

SDK Version
{ 2.38.1 }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot }

Issue Description
Hi, I am trying to run the Ethernet demo to allow Realsense cameras D435 available over the network. I am following this document: https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras. However, I get the following error when I connect to the camera over the network from my linux host running the realsense-viewer.
"RealSense error calling: out of range value for argument "def" - this when I try to connect to the IP address of the eth0 interface on the Raspberry Pi. The linux Host is on <IP_ADDRESS> and the Rpi is on <IP_ADDRESS> ... both can ping each other.
The librealsense.log on the linux host as the following info:
30/09 16:08:03,079 ERROR [140313947535104] (types.h:313) xioctl(VIDIOC_S_CTRL) failed Last Error: Invalid or incomplete multibyte or wide character
 30/09 16:08:03,079 WARNING [140313947535104] (sensor.cpp:632) Exception was thrown when inspecting Raw RGB Camera property Controls exposure time of color camera. Setting any value will disable auto exposure
 30/09 16:08:03,084 ERROR [140313947535104] (types.h:313) xioctl(VIDIOC_S_CTRL) failed Last Error: Invalid or incomplete multibyte or wide character
 30/09 16:08:03,084 WARNING [140313947535104] (sensor.cpp:632) Exception was thrown when inspecting Raw RGB Camera property Controls white balance of color image. Setting any value will disable auto white balance
 30/09 16:08:03,088 ERROR [140313947535104] (types.h:313) xioctl(VIDIOC_S_CTRL) failed Last Error: Invalid or incomplete multibyte or wide character
 30/09 16:08:03,089 WARNING [140313947535104] (sensor.cpp:632) Exception was thrown when inspecting Raw RGB Camera property Controls exposure time of color camera. Setting any value will disable auto exposure
 30/09 16:08:03,090 ERROR [140313947535104] (types.h:313) xioctl(VIDIOC_S_CTRL) failed Last Error: Invalid or incomplete multibyte or wide character
 30/09 16:08:03,090 WARNING [140313947535104] (sensor.cpp:632) Exception was thrown when inspecting Raw RGB Camera property Controls white balance of color image. Setting any value will disable auto white balance
200930160814.667 [librealsense]	I: Init sensor 1, option 'Backlight Compensation', value 0
200930160814.669 [librealsense]	I: Init sensor 1, option 'Brightness', value 0
200930160814.670 [librealsense]	I: Init sensor 1, option 'Contrast', value 50
200930160814.672 [librealsense]	I: Init sensor 1, option 'Exposure', value 166
200930160814.673 [librealsense]	I: Init sensor 1, option 'Gain', value 64
200930160814.675 [librealsense]	I: Init sensor 1, option 'Gamma', value 300
200930160814.676 [librealsense]	I: Init sensor 1, option 'Hue', value 0
200930160814.678 [librealsense]	I: Init sensor 1, option 'Saturation', value 64
200930160814.679 [librealsense]	I: Init sensor 1, option 'Sharpness', value 50
200930160814.680 [librealsense]	I: Init sensor 1, option 'White Balance', value 4600
200930160814.682 [librealsense]	I: Init sensor 1, option 'Enable Auto Exposure', value 1
200930160814.683 [librealsense]	I: Init sensor 1, option 'Enable Auto White Balance', value 1
200930160814.685 [librealsense]	I: Init sensor 1, option 'Frames Queue Size', value 16
200930160814.686 [librealsense]	I: Init sensor 1, option 'Power Line Frequency', value 3
200930160814.686 [librealsense]	W: null pointer passed for argument "device"
200930161615.818 [librealsense]	I: Init sensor 1, option 'Backlight Compensation', value 0
200930161615.905 [librealsense]	I: Init sensor 1, option 'Brightness', value 0
200930161615.907 [librealsense]	I: Init sensor 1, option 'Contrast', value 50
200930161615.908 [librealsense]	I: Init sensor 1, option 'Exposure', value 166
200930161615.910 [librealsense]	I: Init sensor 1, option 'Gain', value 64
200930161615.912 [librealsense]	I: Init sensor 1, option 'Gamma', value 300
200930161615.914 [librealsense]	I: Init sensor 1, option 'Hue', value 0
200930161615.916 [librealsense]	I: Init sensor 1, option 'Saturation', value 64
200930161615.918 [librealsense]	I: Init sensor 1, option 'Sharpness', value 50
200930161615.919 [librealsense]	I: Init sensor 1, option 'White Balance', value 4600

Also, the RsServer.cpp ignores the interface address passed in the command line: rs-server -i <IP_ADDRESS> ...
if (arg_address.isSet())
        {
            ReceivingInterfaceAddr = our_inet_addr(arg_address.getValue().c_str());
        }

ReceivingInterfaceAddr is not used elsewhere in the code.

Hi kochhalm,
When running the viewer on ubuntu system (host), you also need to install required package by following instruction
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
similar issue reported
https://github.com/IntelRealSense/librealsense/issues/7056
to allow the kernel can support Realsense camera's data format.
once all required packaged are installed, you can plug camera directly into your ubuntu PC's USB3 port to see the viewer can stream the camera properly then move to next step that access the camera remotely..
or you can running viewer on win10 PC which no need install additional package
to access the raspberry PI4 rs-server
to see if the raspberry Pi4  is also installed properly.

as to rs-server -i option, as you find out, there is no function implement for it yet.
you just need to launch rs-server
the client should already able to access it through viewer as long as the IP address input to the viewer is same the fixed one you configure to your raspberry

Dear Kochholm,
had you been able to run the rs-server on your Raspberry Pi4?


Merge azure identity extensions 1.1.1 to main

As title.

API change check
API changes are not detected in this pull request.


Correct spelling in messages and variable names.

Corrects spelling mistake of occured used as occurred in a few places in variables as well as error messages returned to the user.

This PR has:

[x] been self-reviewed.

I guess you got bitten by code coverage as there were no tests initially :)


feat: add datadog/managed-kubernetes-auditing-toolkit

Hello!
Thank you for always developing aqua.
I propose to add managed-kubernetes-auditing-toolkit (mkat).
Thanks!
datadog/managed-kubernetes-auditing-toolkit: All-in-one auditing toolkit for identifying common security issues in managed Kubernetes environments. Currently supports Amazon EKS
$ aqua g -i datadog/managed-kubernetes-auditing-toolkit

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed

This repository enables Require signed commits, so all commits must be signed

[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.
Command and output
$ mkat help
Usage:
  mkat [command]

Available Commands:
  eks         Commands to audit your EKS cluster
  help        Help about any command
  version     Display the current CLI version

Flags:
  -h, --help   help for mkat

Use "mkat [command] --help" for more information about a command.

If files such as configuration file are needed, please share them.
Reference

https://github.com/DataDog/managed-kubernetes-auditing-toolkit/releases

Thank you for your contribution!

v4.238.0 is out 🎉
https://github.com/aquaproj/aqua-registry/releases/tag/v4.238.0


Is there a reason to use such an old version of the UUID dependency?

Description
When I install all dependencies of my Cypress project, on the CI, I get a warning from npm saying:
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

Apparently it comes from the fact that this project is using the outdated version of UUID. Result of npm list --depth=3
<EMAIL_ADDRESS>/workspace/my-proj
├─┬<EMAIL_ADDRESS>...
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├─┬<EMAIL_ADDRESS>│ │ │ └──<EMAIL_ADDRESS>│ │ └─┬<EMAIL_ADDRESS>│ │   └──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ └──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>deduped
│ │ ├─┬<EMAIL_ADDRESS>│ │ │ └──<EMAIL_ADDRESS>deduped
│ │ └──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>deduped
│ │ └──<EMAIL_ADDRESS>deduped
│ ├──<EMAIL_ADDRESS>deduped
│ ├──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>│ │ └─┬<EMAIL_ADDRESS>│ │   └──<EMAIL_ADDRESS>deduped
│ └──<EMAIL_ADDRESS>
Environment:

multiple-cucumber-html-reporter: 1.21.4
Node.js version: 16.15.1
NPM version: 8.11.0
Platform name and version: Ubuntu 20.04.1
Cucucmber version: 7.3.2

Hi @avi-ran
Thanks for raising this, updating all dependencies is on my to-do list, together with some other stuff


Implementing other "Advanced Clustering / Unsupervised Learning"  Models

Is your feature request related to a problem? Please describe.
A sort of exploration to other domains like Unsupervised Learning, Anomaly Detection, etc.
Describe the solution you'd like
Hereby, I attach some Resources in order to be taken reference from:-
https://www.analytixlabs.co.in/blog/types-of-clustering-algorithms/           <-------------(Detailed Descriptions of Algorithms)
https://www.upgrad.com/blog/clustering-and-types-of-clustering-methods/
https://machinelearningmastery.com/clustering-algorithms-with-python/    <------------(Concisely mentioned Algorithms)
Describe alternatives you've considered
Contributors can add resources and their own approaches to the Problem accordingly.
Approach to be followed (optional)
Before adding something, do update the Fork and then work, in order to prevent merge conflicts and unnecessary deletions.

Completion Phase-1:-
Divisive Hierarchical Clustering - Vinit Gore
Agglomerative Hierarchical Clustering - Hiteshi Singh


Short range log

Log-File-generation:
Here the log file is in the form of a JSON file, the log file stores data as a dictionary, and the function mark attendance, change the JSON file according to the name of the person identified
Also, the Log file contains two properties, the first one is Time and the second one is Frq:
{'ADITYA MUKHERJEE': {'Time': '21:56:16', 'Frq': 22}}

The time contains the latest time the person was detected and the frq contains the number of times the person was detected by the camera
Thus the required changes were created and added

Appreciate your efforts! We notice the following:

[X] Addition of new module / improvement on existing
[X] Good flow of readme file
[X] Detailed steps to build
[X] Relevancy of module with surveillance system

Great work!


GitHub and Deepstack forum connection broken

Hi @OlafenwaMoses @johnolafenwa I'm trying to contact you because I'm not able to login to forum.deepstack.cc with my existing account. I signed up using the GitHub integration but now get the error "Sorry, there was an error authorizing your account. Please try again." when trying to login. I have also emailed you about this.
Please advise.
Thanks,
Aaron

This was resolved. Thanks for your help via email. I'm closing this now.


Added script field support

Please note that in the SearchRequest struct we added scriptFields as a concrete type and not an interface unlike Mappable and Aggregation. the thought is it's pretty simple enough that it shouldn't require an interface.
Can't wait for your feedback!

is there any update? please support this

Hi, Sorry for delayed response. Its under review currently, will update you soon

@tkaur-ds I changed it, however I want to ask you about that package, I see it used in the projects, how do you decide when and when not to use it ? since I have other PRs that I want to create

@IAbderrahmane, Thanks for making the change! The decision to use an external package like github.com/fatih/structs typically depends on a few factors:

Consistency: We aim to maintain uniformity across the codebase, so we prefer sticking with existing patterns unless there's a strong reason to introduce a new dependency.
Dependencies: Adding new packages increases maintenance and potential security risks, especially when the package is archived(github.com/fatih/structs package is an archive) and no longer maintained.
Project Standards: If a package is widely used in the project, we might continue using it. Otherwise, we evaluate whether it's necessary or if there's a simpler alternative.

For future PRs, we should continue using the established approach unless there’s a clear benefit to diverging.


Do not update Okta-AWSCLI configuration

The default behavior of Okta-AWSCLI is to update the configuration file with a user's chosen role.  In this way when they choose a new profile:
okta-awscli --profile new-profile
the role from the previous session is re-used.  This may not be desired if someone is using Okta-AWSCLI to work with multiple accounts simultaneously.
This patch adds 2 new options, the first is a noupdate CLI option which stops the tool from updating its configuration with the selected role.  The second option forces the printing of the ACCESS key ID information as environment variables to STDOUT.  With these 2 options enabled a user can, in 2 separate terminals invoke:
Terminal 1: okta-awscli -ne --profile dev
Terminal 2: okta-awscli -ne --profile test
By then capturing the environment variables the user can then interact with Terraform, AWS CLI, Boto3 scripts, etc as the AWS role assumed in each terminal session, allowing them to work with 2 separate AWS accounts simultaneously.

I guess you can use multiple okta profiles for this using --okta-profile which can contain different role, but it would be nice that actual default okta profile is somehow connecting profiles from ~/.aws/credentials with role selected initially


fix safari audiocontext issue

Per the AudioContext() docs, Safari requires a vendor prefix.
AudioContext() does not work on Safari (checked with v13.1), so a fallback was added to webkitAudioContext().

nice catch, @kevinselwyn !
tks!


The PR for add CRL support #6841 openvpn

Is this a request for help?:
OpenVPN charts
Is this a BUG REPORT or FEATURE REQUEST? (choose one):

Version of Helm and Kubernetes:
2.11.0
Which chart:
openvpn
What happened:
Requirement for option to revoke user certs
What you expected to happen:
The pull request to be looked at as it seems to be ready to work,
How to reproduce it (as minimally and precisely as possible):
Just apply the PR CRL support #6841
Anything else we need to know:

This is ridiculous!

This appears to be closed with the merge of #14452

@joebeadle the chart seemed to be mostly abandoned for a while, I’m now helping maintain it (would be happy to have more maintainers, if you or anyone is interested). Can you confirm if #14452 covered what you wanted to do with your PR?

@jason Yes thanks helps a lot!

Great, glad to hear


Cannot import fit

Greetings, the fit is pasted to clipboard in EFT format from Pyfa. Download error logs does nothing and the fit does not show in app.
[Metamorphosis, PvP tackle]
Damage Control II
Small Ancillary Armor Repairer, Nanite Repair Paste
Reactive Armor Hardener
5MN Microwarpdrive II
Stasis Webifier II
Warp Scrambler II
Covert Ops Cloaking Device II
Rocket Launcher II, Scourge Rage Rocket
Core Probe Launcher II
Small Semiconductor Memory Cell II
Small Semiconductor Memory Cell II
Small Trimark Armor Pump II
Acolyte II x3
Hobgoblin II x2
Hornet II x3
Inferno Rage Rocket x50
Mjolnir Rage Rocket x50
Nova Rage Rocket x50
Nanite Repair Paste x24

Ah
Actually, there is no metamorphosis on database. Database is quite old and need to be updated, But sadly, I have no time to update. If there is something change on database I need to update whole logic about fitting so.. I keep it outdated...