[KOGITO-3067] - Migrate to Operator SDK 1.x

See: https://issues.redhat.com/browse/KOGITO-3067
Signed-off-by: Tarun Khandelwal<EMAIL_ADDRESS>Many thanks for submitting your Pull Request :heart:!
Please make sure your PR meets the following requirements:

[x] You have read the contributors' guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains a link to the JIRA issue
[x] Pull Request contains a description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster
[x] You've added a RELEASE_NOTES.md entry regarding this change

@Kaitou786 Please update Requirements section in readme.

@Kaitou786 I tried to build the operator image and deploy it. But the operator pod doesn't start with this error:
Error: container create failed: time="2020-12-14T14:12:43Z" level=error msg="container_linux.go:366: starting container process caused: exec: \"/manager\": stat /manager: no such file or directory"

Do you have any idea what can be wrong? Installed using oc apply -f kogito-operator.yaml

@sutaakar I'm assuming you upgraded your operator-sdk binaries locally?

@ricardozanini Yes, will try to cleanup CRC first, maybe there was cached old image. When I run the image manually locally the operator seems to be started.

@ricardozanini Yes, will try to cleanup CRC first, maybe there was cached old image. When I run the image manually locally the operator seems to be started.

I'd say you could try running the image first locally. This is an entrypoint error, so you would see a k8s connection error instead.

It is running now on clean CRC.

@Kaitou786 When I deploy the operator using make deploy then I can see this error:
2020-12-16T13:14:38.791Z	ERROR	controller	Could not wait for Cache to sync	{"controller": "KogitoSupportingService-finalizer", "error": "failed to wait for KogitoSupportingService-finalizer caches to sync: cache did not sync"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/internal/controller/controller.go:160
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/internal/controller/controller.go:184
sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/manager/internal.go:661

Do you have any idea what can be wrong?

Were the CRD installed already in the cluster?

From the bash logs I would expect the CRDs to be installed too:
[karel@localhost kogito-cloud-operator]$ make deploy
/home/karel/go/bin/controller-gen "crd:trivialVersions=true" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
cd config/manager && /home/karel/go/bin/kustomize edit set image controller=quay.io/kiegroup/kogito-cloud-operator:2.0.0-snapshot
/home/karel/go/bin/kustomize build config/default | kubectl apply -f -
namespace/kogito-operator-system created
Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
customresourcedefinition.apiextensions.k8s.io/kogitobuilds.app.kiegroup.org configured
customresourcedefinition.apiextensions.k8s.io/kogitoinfras.app.kiegroup.org configured
customresourcedefinition.apiextensions.k8s.io/kogitoruntimes.app.kiegroup.org configured
customresourcedefinition.apiextensions.k8s.io/kogitosupportingservices.app.kiegroup.org configured
role.rbac.authorization.k8s.io/kogito-operator-leader-election-role created
clusterrole.rbac.authorization.k8s.io/kogito-operator-manager-role unchanged
clusterrole.rbac.authorization.k8s.io/kogito-operator-metrics-reader unchanged
clusterrole.rbac.authorization.k8s.io/kogito-operator-proxy-role unchanged
rolebinding.rbac.authorization.k8s.io/kogito-operator-leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/kogito-operator-manager-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/kogito-operator-proxy-rolebinding unchanged
service/kogito-operator-controller-manager-metrics-service created
deployment.apps/kogito-operator-controller-manager created

Also I see DEBUG entries in operator container log (there are no env variables defined), is it expected?

Also I see DEBUG entries in operator container log (there are no env variables defined), is it expected?

Yes, it is expected, I am trying to debug the above the error

@Kaitou786 When I deploy the operator using make deploy then I can see this error:
2020-12-16T13:14:38.791Z	ERROR	controller	Could not wait for Cache to sync	{"controller": "KogitoSupportingService-finalizer", "error": "failed to wait for KogitoSupportingService-finalizer caches to sync: cache did not sync"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/internal/controller/controller.go:160
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/internal/controller/controller.go:184
sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.3/pkg/manager/internal.go:661

Do you have any idea what can be wrong?

The error should be fixed with the latest changes, thanks :)

Hey @sutaakar I'm assuming you're working on BDD + verifications for this one, right? Do you think we will be able to manage before the holidays?

@ricardozanini right, I plan to have BDD tests running back today

BDD test adjustment prepared - https://github.com/Kaitou786/kogito-cloud-operator/pull/46

@Kaitou786 we can wrap up this PR on Monday.
@spolti do you mind taking a look? If you have any comments, Tarun can address them on Monday, so we close in time for 1.1.0.

@Kaitou786 please rebase.

/jenkins test

/jenkins test

I just changed the image on the configuration of jenkins with updated operator-sdk 1.2, And reverted it back so this updated image is only used for this PR :)
That's why aborted the previous job and restarted it

@Kaitou786 can't you re-run the job using this comment section? Now it will keep this ugly red mark in the PR. :)

Oh the status will be updated here only, that's what I did, the error was coming from buildah it is now bud instead of build when using buildah
/jenkins test

Seeing the error the only test failing are of Infinispan, Grafana and Prometheus

/jenkins test

/jenkins test

@ricardozanini can be merged now =D

@Kaitou786 really nice work.
One thing, for people that already have the code base locally, besides the operator-sdk update and rebase, is there anything else needed?

@Kaitou786 really nice work.
One thing, for people that already have the code base locally, besides the operator-sdk update and rebase, is there anything else needed?

No not really everything else will work :)

When I try to run make vet, I'm getting the following error:
/home/kevin/go/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
./hack/openapi.sh
Generating openapi files
API rule violation: names_match,github.com/kiegroup/kogito-cloud-operator/api/v1beta1,KogitoInfraStatus,Volume
/home/kevin/go/bin/controller-gen "crd:trivialVersions=true" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
cd config/manager && /usr/bin/kustomize edit set image controller=quay.io/kiegroup/kogito-cloud-operator:2.0.0-snapshot
/usr/bin/kustomize build config/default > kogito-operator.yaml
panic: interface conversion: interface {} is string, not map[string]interface {}

goroutine 1 [running]:
sigs.k8s.io/kustomize/api/resmap.getNamespacesForRoleBinding(0xc0004f34a0, 0x19)
	sigs.k8s.io/kustomize/api@v0.7.0/resmap/reswrangler.go:417 +0x352
sigs.k8s.io/kustomize/api/resmap.(*resWrangler).SubsetThatCouldBeReferencedByResource(0xc0004e3940, 0xc0004f34a0, 0xb, 0xc001f98701)
	sigs.k8s.io/kustomize/api@v0.7.0/resmap/reswrangler.go:384 +0xdb
sigs.k8s.io/kustomize/api/internal/accumulator.(*nameReferenceTransformer).Transform(0xc0008a6320, 0x5629e987bf80, 0xc0004e3940, 0xc0004e3940, 0x0)
	sigs.k8s.io/kustomize/api@v0.7.0/internal/accumulator/namereferencetransformer.go:85 +0x531
sigs.k8s.io/kustomize/api/internal/accumulator.(*ResAccumulator).Transform(...)
	sigs.k8s.io/kustomize/api@v0.7.0/internal/accumulator/resaccumulator.go:138
sigs.k8s.io/kustomize/api/internal/accumulator.(*ResAccumulator).FixBackReferences(0xc0004e3920, 0xc0004e3920, 0x0)
	sigs.k8s.io/kustomize/api@v0.7.0/internal/accumulator/resaccumulator.go:164 +0xbe
sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).makeCustomizedResMap(0xc00058c640, 0x0, 0x0, 0x5629e98761c0, 0x5629ea2ae820)
	sigs.k8s.io/kustomize/api@v0.7.0/internal/target/kusttarget.go:125 +0x7d
sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).MakeCustomizedResMap(...)
	sigs.k8s.io/kustomize/api@v0.7.0/internal/target/kusttarget.go:106
sigs.k8s.io/kustomize/api/krusty.(*Kustomizer).Run(0xc0012c3d20, 0x7fff12c65ffd, 0xe, 0x0, 0x0, 0x0, 0x0)
	sigs.k8s.io/kustomize/api@v0.7.0/krusty/kustomizer.go:77 +0x29b
sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build.(*Options).RunBuild(0xc0004c20e0, 0x5629e9828d40, 0xc000010018, 0x1, 0x0)
	sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build/build.go:148 +0xb7
sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build.NewCmdBuild.func1(0xc0002dfb80, 0xc0004b5880, 0x1, 0x1, 0x0, 0x0)
	sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build/build.go:70 +0xad
github.com/spf13/cobra.(*Command).execute(0xc0002dfb80, 0xc0004b5850, 0x1, 0x1, 0xc0002dfb80, 0xc0004b5850)
	github.com/spf13/cobra@v1.0.0/command.go:842 +0x47c
github.com/spf13/cobra.(*Command).ExecuteC(0xc0002df600, 0x0, 0xffffffff, 0xc00009e058)
	github.com/spf13/cobra@v1.0.0/command.go:950 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/cobra@v1.0.0/command.go:887
main.main()
	sigs.k8s.io/kustomize/kustomize/v3/main.go:19 +0x2a
make: *** [Makefile:138: generate-installer] Error 2

The API rule violation I fixed in my PR for KOGITO-3777 and is discussed there. I'm not sure what's going on with the interface conversion error though?

@Kaitou786 since you did this migration, can you help @Kevin-Mok ?

@Kevin-Mok the error can be related to missed matched version kustomize tool, can you try running:
rm $(which kustomize)
and then run make vet again?

That fixed it. Thanks!


Move latest block fetch out of store callback

store callback is on the hot path of sync process, a network request is not suitable to be here since it blocks the entire sync process for arbitrarily long

This is a general comment about s.highestBlockHeader and may be out of the scope of this PR. All of the usage of s.highestBlockHeader is of its number. So instead of storing the whole header we could just store the higheBlockNumber instead.


Fix for latest Arizona

Description
All the proposed changes are expected as per our most recent main branch updates.
Closes #20.

[x] I have performed a self-review of my changes
[x] I have read and understood the contributing guidelines

CI's ✅. We're back in business...


V6 - touched states leak on FieldArray.remove

I'm using a FieldArray with a component class, one of the cool features is that it allows me to just push({}) a new object in, and remove(itemIndex) remove items.
However, when I remove an item, the touched bools are not changed, so it seems.
This is easily noticeable with valdiation.
I'm currently commuting, so I'll be a bit short, but what I'm doing is this:

export default class JsonFormArrayEditor extends React.Component {

  render() {
    console.log('JsonFormArrayEditor.props', this.props);
    const {push} = this.props;
    return

      <RaisedButton label="+ Document" type="button" onClick={() => push({})}/>
      {this.props.map((arrayItemPointer, arrayIndex) => this.renderArrayItem(arrayIndex, arrayItemPointer))}

;
  }

  renderArrayItem(arrayIndex, arrayItemPointer) {
    const {remove, schema: {items: itemsSchema}} = this.props;
    return
{arrayIndex}
      <button onClick={() => remove(arrayIndex)}>Remove</button>
      <JsonAnyEditor pointer={arrayItemPointer} schema={itemsSchema}/>

;
  }
}

The array component is used like this:
        return <FieldArray
          name={pointer}
          schema={schema}
          component={JsonFormArrayEditor}/>;

I have validation function which takes jsonschema and takes the validation output and creates an errors object the way redux-form needs it.
When I create an object in the array, and toch the fields so they invalidate, create a new (untouched) 2nd item in the array, and then remove the first item.
The touched bools on that 2nd items (which has become the first item) transfer from one array item to the next...
Maybe I'm doing something wrong, or this might be a small bug. Of course, the touched flag is purely for display purposes. I'm using that like in the examples:

export default class JsonFormTextEditor extends React.Component {
  render() {
    const {schema, touched, error, ...throughProps} = this.props;
    return <TextField
      floatingLabelText={schema.label}   // schema.label is my own "extension" to jsonschema.
      errorText = {touched && error}
      {...throughProps}
    />;
  }
}

BTW
Redux Form made creating this super easy, if you're interested I could try to create a seperated example for you to put up. Or maybe this would need to be a separate package (I'm using material-ui for all the string/number/... types atm, that would have to be pluggable, in which case an example would be less effort ATM).

@q42jaap I'm always interested in new, novel examples. 👍

Very likely due to the array key being arrayIndex. Try keying it with something that uniquely identifies the array item

@huan086 good point, I'll have to think about how to do that, since I don't have a natural key field in this case.

I'm closing this, I confirmed that the index as key does this, I think it's difficult to prevent.


Can't set border highlight

Hey,
I am using your rename script from https://github.com/MunifTanjim/dotfiles/blob/neovim-edge/private_dot_config/nvim/lua/config/lsp/custom.lua. I have tried to change the border highlight to FloatBorder and it doesn't change.
This is the relevant snippet:
local input = Input({
  border = {
    style = "rounded",
    highlight = "FloatBorder",
    text = {
      top = "[Rename]",
      top_align = "left",
    },
  },
...

Thanks for the library btw, I was waiting for a high level UI lib for a while! :D

Hello! Thanks for trying this out and reporting the bug! 😃
This bug was happening when border.text was present.  I just pushed a fix for that.

Thanks, the fix works!


Handling issue with oci.exceptions.ServiceError

I'm not sure if I've completed the setup correctly.
While I've followed the instructions to the best of my ability and run setup_init.sh - and get the 'Script is running successfully' message.  Below shows the response that the script is running successfully.

When I run a ps aux, however, I don't see the script executing.

I tried stepping through the main.py to see where I may be erroring out, and am getting caught on an oci.exceptions.ServiceError notice - see below.

Any thoughts on troubleshooting?

Thanks for the tip!  Regenerated a new keypair and loaded them up; can now see the python script running:

Here's hoping I get a resources in this lifetime!

Author got back to me quickly and his proposed resolution seemed to resolve the issue.


Unable to add linked dependency: oao add sub-package scoped-dependency

Suppose I have this:
packages/
  example-a/  (example-a)
  scoped-b/  (@scoped/b)

When I run:
$ oao add example-a @scoped/b

Yarn attempts to run yarn install @scoped/b (which doesn't exist yet).

Still interested in this, or using lerna instead?

Still interested in this.  Not using lerna because oao works better.
In the interim, I'm manually adding "@scoped/b": "*" to package.json within example-a right now.

Fixed in v0.10.1, but please check in your case.


Binance live trader not working

Note: for support questions, please join our Discord server

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Action taken (what you did)
Ran binance live trader from both UI and command line

Expected result (what you hoped would happen)
should have executed trades

Actual result (unexpected outcome)
When running from the UI, it doesn't give any errors but it does not trade. I get the loading indicator in the runtime area when clicking in to the live trader.
If running from the command line, I get this error

`2018-01-11 02:12:18 (DEBUG):    [binance.js] entering "getTicker" callback after api call, err: Error: Response code 404
at Request.e [as _callback] (/mnt/d/Projects/gekko/node_modules/binance/lib/rest.js:66:37)
at Request.self.callback (/mnt/d/Projects/gekko/node_modules/binance/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/mnt/d/Projects/gekko/node_modules/binance/node_modules/request/request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (/mnt/d/Projects/gekko/node_modules/binance/node_modules/request/request.js:1085:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)  data:

Binance

出错啦！您访问的网页不存在。
Sorry! The page you’re looking for cannot be found.

2018-01-11 02:12:18 (ERROR):    [binance.js] unable to get ticker {}`
here is my config
`config.watch = {
// see https://gekko.wizb.it/docs/introduction/supported_exchanges.html
exchange: 'binance',
currency: 'BTC',
asset: 'FUN',
// You can set your own tickrate (refresh rate).
// If you don't set it, the defaults are 2 sec for
// okcoin and 20 sec for all other exchanges.
// tickrate: 20
}
config.tradingAdvisor = {
enabled: true,
method: 'custom',
candleSize: 1, // in minutes
historySize: 3,
adapter: 'sqlite'
}
config.paperTrader = {
enabled: true,
// report the profit in the currency or the asset?
reportInCurrency: true,
// start balance, on what the current balance is compared with
simulationBalance: {
// these are in the unit types configured in the watcher.
asset: 1,
currency: 100,
},
// how much fee in % does each trade cost?
feeMaker: 0.1,
feeTaker: 0.1,
feeUsing: 'maker',
// how much slippage/spread should Gekko assume per trade?
slippage: 0.05,
}
enabled: true,
key: 'KEYHERE',
secret: 'SECRET HERE',
username: '', // your username, only required for specific exchanges.
passphrase: '' // GDAX, requires a passphrase.
config['I understand that Gekko only automates MY OWN trading strategies'] = true;
`

I am also getting error 400 and I downloaded gekko yesterday. I am running it on ubuntu. Does anyone have a solution for this?
Gekko encountered an error and can't continue
Error:

[binance.js] Response code 400

Meta debug info:

Gekko version: v0.5.14
Nodejs version: v9.9.0

@Kralg And you verified that it isn’t your system clock being off by too much?

@Kralg I am not familiar enough with your environment to really state what the problem is, but generally speaking this was the cause of the error you are seeing.
However I think with the latest release 0.5.14 a time sync function should be present in the binance setup to automatically handle this now. Update to latest, run npm update to update modules, and then try again?
If that all fails, then please look into adding some debug information in the code the determine what the precise error coming back from Binance is and reporting back with that info.

@cmroche well I think you are talking about Gekko version, but I have the 0.5.14, this is written in my previous message, I think. Or you think that even 0.5.14 was changed without the version number increase?

@Kralg It looks like @askmike pushed a changed recently to give more information on the error, it's in the develop branch commit f06c3d277428decac3217744a04841f73769d6bd


Java 13.3: Importing Packages

Description
Add audio, documentation, and video regarding the Importing Packages.
Location of File to be added
The files should be added inside the Importing Packages folder which is inside the Packages folder present in the Java main folder. The documentation file can be in the .md/.py/.ipynb format. Audio should be in .mp3 format and to be submitted through a Google drive link. Video can be in any format and should be submitted through a Google Drive link.
Note:

You are required to comment with \assign CONTENT_TYPE, so that other content types can be created at the same time.
Failing to comment in the above manner will lead to the removal of assignment from the issue even if the bot assigns.
You are required to do a PR within 7 days otherwise you will be unassigned and others will be assigned.
Issues will be assigned on a first come first serve basis.

Domain
Java_Domain
Type of Contribution
Audio, Video, Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign documentation

/assign documentation

Sorry i have unsigned my self, i have commented by mistakely because of a confusion @garvitraj

/assign Documentation

I have only one issue open and that to waiting to be merged.

\assign documentation

/assign Documentation

I was Assigned with 2 issues of same branch so both the issue got pushed with the same request . Kindly check the PR by your side . Thank you @garvitraj

/assign documentation

@AkMo3 if the documentation issue is not resolved can I go with the issue

@ganaaduvva You have been assigned documentation

Thanks for your confirmation @AkMo3 !!

@AkMo3 can I go with the audio if not done yet!

@garvitraj  I have made the audio file can you review my PR

@AkMo3 can you please review my PR of audio it is my 1st audio contribution and happy to listen for any advice


Dynamically import vega-lite

And katex if possible. In a nutshell, we should prepare in a scenario where we will have more dependencies and therefore we shouldn't load all of them upfront.

As for KaTeX, we use it as part of markdown processing and we never know at which point there is gonna be an actual math, so we always need to go through that step.


Packages: Python (PyPi) support

Summary
This is the GA (generally available) release of support for Python packages PyPi supporting the pip client.
Intended Outcome
GitHub Packages users will have access to a public and private PyPI package management server for distributing Python packages both publicly and privately within their organization.

Language: Python
Framework: PyPI
CLI: pip

How will it work?
Set GitHub Packages as a repository
[packages]
repository: https://pypi.pkg.github.com/$USER_OR_ORG/
username: $GITHUB_PERSONAL_ACCESS_TOKEN
password:

Use the Packages repository for pushing
python setup.py sdist upload -r packages

This is no longer planned due to a change in our strategic priorities and the allocation of our resources towards higher-priority initiatives.


docs(transformer): add documentation for exponentiation-operator plugin

follow-up #4881

#5086
#5085
#5084  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Dunqing and the rest of your teammates on  Graphite


Embedded Ruby and require_relative

I am attempting to embed ruby as a scripting application for this project. I am magnus::eval<>-ing a file I read to string, and attempting to require one of my files containing a custom class in rust. My file structure looks like this:

and test.rb looks like:
require_relative 'src/core/position'

class Test
  def initialize; end;
  def run
    puts "Hello World!"
  end
end

Test.new.run
puts Position.new(1, 2, 3).to_s

But it says it cannot find the file. Am I misunderstanding how to do this? Is magnus the right library to use for this task, or should I use something like rtie or artichoke instead?
Also, some other questions:

How do I magnus::init multiple classes?
Would a user of this app need ruby installed on the system? I imagine so, no? Would I have to embed a runtime like artichoke?

I've added an example of a multi-file embedded project, hopefully that helps.
It is possible to statically link Ruby into an application, and Magnus supports this, in which case the user would not need Ruby installed. However Ruby (as in the runtime, MRI/CRuby) isn't really built to be statically linked, lots of functionality of Ruby is written in Ruby, and this doesn't get included.
I believe Rutie would work similarly to Magnus with regards to requiring files, static linking, etc.
mruby is an alternate implementation of Ruby that is built specifically for embedding. minutus is a project to provide Rust bindings to mruby with a similar api to Magnus. I've not used minutus or contributed to it, I just know it exists.
artichoke is another alternate implementation of Ruby that starts with mruby (which is written in C) and replaces parts with Rust. I believe the goal is eventually to replace all the the mruby C code. I have no idea how usable it is embedded in a Rust application.

Thank you, this was helpful. What's the proper way to expose variables? define_attr seems to be just for building classes programmatically, is it more proper to use methods as a getter and setter?

It's kind of dependant on your use case, here's an example with a few different ways to expose a value to Ruby, hopefully one works for you:
use magnus::{
    current_receiver, define_global_const, define_global_function, define_module, define_variable,
    eval, function, prelude::*, Error, RObject,
};

fn examples() -> Result<(), Error> {
    // Set a global variable
    define_variable("example", 1)?;

    let result: bool = eval!("$example == 1")?;
    assert!(result);

    // Set a constant
    define_global_const("EXAMPLE", 2)?;

    let result: bool = eval!("EXAMPLE == 2")?;
    assert!(result);

    // define a global function
    fn example_fn() -> i64 {
        3
    }
    define_global_function("example", function!(example_fn, 0));

    let result: bool = eval!("example == 3")?;
    assert!(result);

    // define a local variable (eval only)
    let example = 4;
    let result: bool = eval!("example == 4", example)?;
    assert!(result);

    // alternative define a local variable (eval only)
    let result: bool = eval!("example == 5", example = 5)?;
    assert!(result);

    // set an instance variable on the current object (the root `main` in this
    // case). The name must be prefixed with @ to be visible to Ruby
    let main: RObject = current_receiver()?;
    main.ivar_set("@example", 6)?;

    let result: bool = eval!("@example == 6")?;
    assert!(result);

    // namespaced constant
    let module = define_module("Example")?;
    module.const_set("VALUE", 7)?;

    let result: bool = eval!("Example::VALUE == 7")?;
    assert!(result);

    // namespaced function
    let module = define_module("Example")?;
    fn value_fn() -> i64 {
        8
    }
    module.define_singleton_method("VALUE", function!(value_fn, 0))?;

    let result: bool = eval!("Example::value == 8")?;
    assert!(result);

    Ok(())
}

fn main() {
    let _cleanup = unsafe { magnus::embed::init() };
    if let Err(e) = examples() {
        eprintln!("{}", e);
        std::process::exit(1);
    }
}

Ah, I was looking at exposing a struct's fields.

Oh yeah, getters and setters are the way to go there. See examples/mut_point.rs.


Fail section

What is this?
Fail section that always fails when described.
Use Cases
This is when you want to make a scenario fail after some operation in a later step when you already know that the previous step failed.
A more concrete example would be an API call that results in a 500 error and you want to display the application log.

examplesteps:
  -
    req:
      desc: Some kind of error occurs. Errors are not evaluated here.
      /fail-end-point:
        get:
          body: null
  -
    desc: Handling errors
    if: previous.res.status == 500
    exec:
      command: tail -10 /var/log/error.log
    # Whenever there is a FAIL section, it fails and does not evaluate the subsequent steps.
    fail: 'Fail messages.'

I can do the following, but I would like to display the appropriate message
steps:
  -
    req:
      desc: Some kind of error occurs. Errors are not evaluated here.
      /fail-end-point:
        get:
          body: null
  -
    desc: Handling errors
    if: previous.res.status == 500
    exec:
      command: tail -10 /var/log/error.log
    test: false

I probably understand what you want to do.
However, I feel that the proposed API is not easy to use.
u-m...

However, I feel that the proposed API is not easy to use.

Would it be better to have fine control like the error functions in the testing package?

Fail
FailNow or Fatal

Or maybe extend the test section so that it can be handled by onError.
We'll need to have a deeper discussion about the impact on other functions. 😄


Implement Generics.Deriving.Semigroup

I just realised we have Generics.Deriving.Monoid but not Generics.Deriving.Semigroup. I'm aware there may be some overlap with the semigroups package also providing generics-deriving support, but I don't think this should keep generic-deriving from providing a facility as well, especially since Semigroup has moved into base.

I confess that I punted on adding Generics.Deriving.Semigroup because it has some tricky design questions. But now that someone's requesting it, we should try to answer them:

Currently, Generics.Deriving.Monoid provides two different ways of implementing Monoid generically. One way is through memptydefault (which relies on fields having Monoid instances), and another way is through gmemptydefault (which uses the separate GMonoid type class).
Clearly we want to add GSemigroup(gmappend), but what about mappenddefault that requires the fields to be Semigroup instances? If we add that, we wouldn't be able to backport it prior to GHC 8.0 (this library has a no-dependency rule, so semigroups is a no-go).

Do we make GSemigroup a superclass of GMonoid? If so, we'd need to make several breaking changes.

Btw, according to https://prime.haskell.org/wiki/Libraries/Proposals it'll take several years before Semigroup can become a superclass of Monad to the point of being almost pointless to make it a superclass at all... but well, nobody cried out yet about this absurdity :-/
However, does the time of when the superclass relationship of Semigroup/Monoid becomes reality have any effect on the design questions you mention? Or is this independent?

Question 1 has nothing to do with the relationship between Semigroup and Monoid.
Question 2 has concerns that mirror the SMP, however, since if we do make GSemigroup a superclass of GMonoid, it will break all GMonoid instances in the wild (not that I have a head count of how many actually exist). The alternative would be keeping GSemigroup and GMonoid separate, at the cost of having two different-but-identical gmappenddefault functions in different modules.

@RyanGlScott hrm... now that I see it... can't we have a sappenddefault when base>=4.9?

We could. And, moreover, we could also have eqdefault, showsPrecdefault, fmapdefault, and other defaults for every other typeclass we imitate in generic-deriving.
There's two issues we'd need to address if we decided to do this, however:

Each -default we add seems to require copying all of the same generic machinery, but for a different typeclass. See these two code snippets in Generics.Deriving.Monoid for an example.
Many of our imitation classes do different things than their counterparts in base. GEnum, for example, works in a completely different way than Enum does (which is what allows it to have more instances than Enum has). GShow produces different output from Show. Et cetera. If we start exporting functions that claim to give sensible defaults for base typeclasses, should we change our generic equivalents to have the same behavior?

The more I think about this, the more I believe that default implementations of base typeclass functions should go in a different package (base-generics, perhaps) for the following reasons:

We can get around generic-deriving's dependency restrictions. base-generics could depend on semigroups for default implementations of Semigroup/Monoid, transformers-compat for defaullt implementations of Eq1/Ord1/Read1/Show1, and roll its own default implementations for other typeclasses.
A generic fmap implementation could be derived by making the GHC.Generics datatypes themselves instances of Functor. This will be possible after Phab:D1937 is merged, but to backport the Functor instances, you need to depend on base-orphans, which we don't do for generic-deriving.

JFTR, the "base-generics" package that I waxed hypothetical about in https://github.com/dreixel/generic-deriving/issues/33#issuecomment-186954385 now exists as generic-data.


Added Karl-von-Frisch-Gymnasium Dusslingen

Added Karl-von-Frisch-Gymnasium Dusslingen (http://kvfg.de/doku.php)

@parablack I am sorry for a delay with processing your request. Unfortunately, I can not check your e-mail domain, because the official website (http://kvfg.de) does not list kvfg.tue.schule-bw.de as valid e-mail domain for the school. The page you has provided (http://kvfg.de/doku.php) has a news about some musical classes, unlikely relevant to two-years courses related to informational technologies. The official KVFG document at http://www.kvfg.de/lib/exe/fetch.php?media=kvfgmain:informationsbroschuere_kvfg_2015.pdf has contact e-mail address in different domain (kvfg.schule.bwl.de).
Please provide us with some proof of the fact that kvfg.tue.schule-bw.de domain is actually owned by the school, and the emails in the domain are available for the school students only.
Thank you!

@parablack i'm closing the request due to being obsolete, please reply to reopen


TS-4554: Set max depth of Http2DependencyTree

Set max depth of Http2DependencyTree
When the depth over the maximum, new node will be a children of root node.
Remove node from Http2DependencyTree when delete streams.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/489/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/386/ for details.

Looks good to me. Two naive questions:

256 seems crazy deep, is that a reasonable default?

Do we want to make this configurable instead of static? Are there use cases where someone want more (or less) ?

Can you add a test for the case that the current depth hit the maximum depth?

256 seems crazy deep, is that a reasonable default?

SETTINGS_MAX_CONCURRENT_STREAMS is 100 at least. And "idle" streams (that are not counted for concurrent streams) can be node of tree.
Those can be said for odd-numbered streams which is used by client and even-numbered streams which is used by server. So I chose 256.
If we ignore server-push cases, it could be 128.

Do we want to make this configurable instead of static? Are there use cases where someone want more (or less) ?

Hmm, if someone wants to increase SETTINGS_MAX_CONCURRENT_STREAMS, it looks like this should be increased too. But this is a limit of recursion, so I don't think this should be configurable for now.

I don't think 256 is reasonable value. Who need such a crazy dependency tree? The default can be smaller value until it works. I guess 8-16 are big enough in practice.

Chrome 51:) The tree of it has all streams in only one branch (all headers frame has exclusive flag). So the depth is equal to steams.
For FireFox, 8 - 16 is big enough.

My point is that we don't have to follow the crazy dependency request.

Set max depth of Http2DependencyTree When the depth over the maximum, new node will be a children of root node.

This means nothing bad happens if we got a 1024 depth tree request, right?
By the way, isn't it just a bug on version 51? Does it happen on the latest version?
https://bugs.chromium.org/p/chromium/issues/detail?id=590225

Yes, we don't have to follow it, but we should follow it as much as possible. Because it could be happen that images are sent before CSS/JS, if we don't follow it.
How about use SETTINGS_MAX_CONCURRENT_STREAMS  as the max depth? It looks appropriate and we don't need new configures.
I'm seeing that with latest Chrome ( 51.0.2704.106 ). Chrome had that bug in Feb and reverted the changes. IIUC, the bug is about the order of streams not depth of streams. Now (maybe from Jun), it looks like they fixed the order and rolled it out.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/508/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/405/ for details.

Talked with Masaori offline.

Chrome seems creating a deep depth tree intentionally to get contents in the order that Chrome wants
Using SETTINGS_MAX_CONCURRENT_STREAMS as the limit is reasonable because the tree depth doesn't over the setting value even if the tree nodes are created in the Chrome way
There would be no serious issue even if all clients were Chrome

So, +1 from me.

@masaori335 I think this should resolve TS-4618 too, right?
https://issues.apache.org/jira/browse/TS-4618

@maskit Possibly, but not sure.


Seg Fault while initialzing a struct of adoubles

I keep getting a segmentation fault when I try to initialize a struct of adoubles. See below the struct
struct VehParam{

    // Contructor for the 4 DOF parameters
    VehParam()
        : _l(0.5), _c1(1e-4), _c0(0.02), _R(0.08451952624), _I(1e-3), _gamma(0.334), _tau0(0.09), _omega0(161.185) , _step(1e-3) {}

    VehParam(adouble l, adouble c1, adouble c0, adouble R, adouble I, adouble gamma, adouble tau0, adouble omega0, double step)
    : _l(l), _c1(c1), _c0(c0), _R(R), _I(I), _gamma(gamma), _tau0(tau0), _omega0(omega0), _step(step) {}

    adouble _l; // length of car
    adouble _c1; // Motor resistance that multiplies linearly
    adouble _c0; // Motor resistance that is constant
    adouble _R;  // Radius of wheel
    adouble _I; // Moment of Inertia of wheel
    adouble _gamma; // Gear Ratio
    adouble _tau0; // Motor torque at 0 RPM
    adouble _omega0; // RPM at which motor toruqe goes to 0
    double _step; // Time step used in the integration
};

I initialize using
VehParam veh1_param
This does not happen when I only use doubles.

An "adouble" can't be initialised before a Stack object is created, because when created an adouble object registers itself on the Stack - can I assume that you didn't create a Stack? See section 2.3.1 of the Adept-2 user guide.

Works now! Thanks!!


TeamCity 9 RC

I've tried using your plugin on TeamCity 9 RC 1 and it doesn't seem to work. It's not adding the new parameter.

Any progress on this? Can I help in any way?

To be honest, I haven't got around to it and don't see it happening in the next week or two.
I'll try to run it on TC 9 towards the end of the month and see what's causing the issue.

Hi, I experience this issue while looking to migrate to TeamCity. I plugged the problem on this [fork] (https://github.com/dnak/TeamCity-plugins), but I haven't thoroughly tested. It has only been used in a proof of concept environment.
It appeared that the build.getStartDate(); method from the TC is attempting to return a null, which in turn throws an exception. I simply used the current DateTime instead, but I don't know enough about the ramifications of that.

In that case, the problem is that the parameter is no longer based on the build's start time, but instead on whenever the plugin was executed.
I'd use it as a backup, meaning:
// get the start date
Date buildStartDate = (build.getStartDate() != null ? build.getStartDate() : new Date());

This way we either use the proper start time, or if unavailable, use this approximate time.
Feel free to send me a pull request :)

I've built the plugin with the change above but I have no TC9 system to test it on (nor the time to start one).
@chrisdrobison, would you be interested in testing it on your system?
I'm hosting it here for a few days.

Sorry, I left out some details. It appears that the build.getStartDate() on the TC api has an [@NotNull annotation] (http://javadoc.jetbrains.net/teamcity/openapi/current/jetbrains/buildServer/Build.html#getStartDate()).  This constraint is being violated (meaning TC is attempting to return null) and this is actually the source of the exception. So this appears to be a TeamCity issue. I haven't followed up with TC.
So, yeah, the fix I've got there is incorrect. We could do something similar to what you have there but it would still require some error handling around the build.getStartDate() call.
I don't have access to our logs right now but I can try to dig them up over the next several days and share the stack trace.

Got it. I'll replace the implicit if with proper try/catch and upload another version of the plugin for you guys to test.

Done, it's available on the same URL as before.

Yes, I will run it and see what happens.

Looks like it's working. I manually changed the time on the system I'm using multiple times and the new builds picked it up immediately.

Cool, I'll update the plugin on my blog as well. Thanks for all your help :)


Add __meta_kubernetes_pod_phase label in discovery

This lets you add a relabel rule to drop scrapes for pods which are not running.
Fixes #4823

The docs also need updating.

The docs also need updating.

Done.

Thanks!


Fix install-deps script to handle freeBSD

Thanks @herrhotzenplotz
I updated install-deps script to fix warnings from checkbashisms

lgtm, why didn't you remove the wget install step on CI? That would ultimately test exactly the change.

lgtm, why didn't you remove the wget install step on CI? That would ultimately test exactly the change.

You are right, this will be a good check, will change it in following PR for freeBSD


Haplotype age distribution artwork

This PR has work on haplotype age distribution plots. Addresses #72 and #74.

Hi Chris, this is ready for review. The main changes are a tweaked figure presenting the overall age distribution and a revised figure presenting evidence for direction of spread.

Thanks, merging.


Difficulties using "filter by concept", in choose your questions

I was exploring how this works.
This is what I've found:
(a) if I type something that is not listed as a concept, the word appears in the box, but it doesn't actually do anything. I was actually trying to find questions with graphs in them, and typed "graph" which sat in the box, but didn't actually have any effect, and I didn't get any kind of message such as "'graph' isn't a concept you can filter on".
(b) if I start typing something that is a concept (or is in the title of a concept), then it's difficult for the user to see what is happening, e.g. I type "mass" in the concept filer box. On the screen appears the word "Centre" with a little + sign near it. I click the add sign and the concept "centre of mass" is added. So, could the box that appears be bigger, so you can see the full concept that is suggested to you before you add it? Could it be a drop down that as you type it takes you to a suggested concept?

Part of (b) sounds like a re-run of the wonderful #186 which we thought had been fixed before . . .


Fix issues

Fixes in the primary template for issues #36 #37 #38 #29 #40 #41 #42 #43 #44
Plan to add fix for #45 also.
Need to review the reference specialization for similar issues.


Docker cannot be downloaded without login

Problem description
You need to login to download docker CE. This makes no sense for a CE product.
Problem location

I saw a problem on the following URL: https://hub.docker.com/editions/community/docker-ce-desktop-windows

Suggestions for a fix
Allow download without login

Apparently you can't download it even after login :) It's broken completely right now

Thank you for your feedback. This seems to be a feature request or a fundamental change in the way Docker works, but this GitHub repository is only for Docker documentation. Please file an issue in
https://github.com/docker/docker-ce instead.


RHEL8 specific changes for SELinux

Description of PR
Install right policy core utils Python package on RHEL8. See #276.
Type of change
Enhancement Pull Request
Fixes an issue
#276

Thanks! 👍


Any idea about inserting ads within content?

Hi,
I have a doubt regarding inserting ads within the content.  For example,

This banner advert will be inside the scrollable div and user can see it only when he/she scrolls.
Any idea?
Thank you,
Praveen

@floatinghotpot Thanks.  I will look into the native ads and give a try.
Regards,
Praveen


WIP adding fixedvariablecomposite

docs and tests are missing

Closes #335

This will need to be added to the docs as well. See https://github.com/dwavesystems/dimod/blob/master/docs/reference/ref_samplers_composites.rst#L74 (you'll want to look at the 'raw' view, not the rendered one). This will probably cause the doctests to fail because the docs don't have access to DWaveSampler

Codecov Report

Merging #338 into master will increase coverage by 0.1%.
The diff coverage is 97.72%.

@@            Coverage Diff            @@
##           master     #338     +/-   ##
=========================================
+ Coverage   92.27%   92.37%   +0.1%
=========================================
  Files          40       41      +1
  Lines        2331     2375     +44
=========================================
+ Hits         2151     2194     +43
- Misses        180      181      +1

Impacted Files
Coverage Δ

dimod/reference/composites/__init__.py
100% <100%> (ø)
:arrow_up:

dimod/reference/composites/fixedvariable.py
97.67% <97.67%> (ø)

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 c6088ab...4139763. Read the comment docs.


x/crypto/ssh: investigate support for<EMAIL_ADDRESS>protocol extension

Maybe we can just advertise server side support for this extension and reply to ping requests
see section 1.9
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL?rev=HEAD
This extension will be added to OpenSSH 9.5

CC @FiloSottile.

FYI I've started an I-D to get this extension standardised but that would be art least a year away.
https://github.com/djmdjm/drafts/blob/master/draft-miller-ssh-ping.txt

Is this RFC final already?
A single byte keystroke looks like 10 bytes (uint8 packet type, uint32 channel ID, uint32 data length, data), but in response the other side will  send a 9 byte window adjust message (uint8 packet type, uint32 channel ID, uint32 byte count.)
wouldn't it be better if the pong message contained the number of bytes to send in return?


Add italian

Summary
Add it
Checklist
Please ensure all of the following are completed before submitting the PR:

[x] Code has been tested and verified.
[x] Documentation has been updated to reflect the changes.
[x] All tests pass successfully.
[x] Code follows the project's coding guidelines and style.
[x] The branch is up-to-date with the latest changes from the main branch.
[x] Reviewed by at least one other contributor.

Hey @Angelk90,
Thanks for your contribution.
Your PR has been merged!
Your name will appear on https://auroraeditor.com/#contributors in a few moments, if you have contributed to the editor.
Thanks again for your contribution!
Kind Regards,
Aurora Editor Team.


functional-tester: simulate network partition

Currently functional-tester only isolates one node and doesn't
inject network partitions of more than one node.

set up 5-node
network partition (e.g.  isolate nodes 1 and 2 from rest of the cluster)
remove the network partition
compare revision and hashes

Good reference: https://aphyr.com/posts/281-call-me-maybe-carly-rae-jepsen-and-the-perils-of-network-partitions.

We do simulate network partitions by isolate nodes today.

I meant network partition of 3 / 2 nodes (out of 5)--where two nodes can still talk to each other.
Currently it drops all traffic to the port 2380, isolating it from the whole cluster.
But I agree it's the same thing.
Thanks!

@gyuho It is only because we have 3 nodes. So isolate one == partition with others.

Got it.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create a ParseFromRequestHeader() function

Right now, ParseFromRequest() checks the request.Body via request.ParseMultipartForm() if the token is not found in the header.  The problem is that ParseMultipartForm has the nasty side-effect of modifying the body of the request.
In some situations this can lead to problems working with the request in later, and so this proposed function gives the option of only checking the header.
In my case I was using a JWT for authentication in middleware, which was then affecting the contents of an POST request with an image in the body.  Using the header only function solved the problem for me.

This looks reasonable.  There are a half-dozen or so requests for changes to that function.  I'm working on moving the FromRequest stuff to a sub-package, since it's not strictly part of the JWT spec.  I'll pull this in when I get a bit further along. (See #75)

Related: #129

Replaced by #137

Please review #137 and verify it satisfies your requirements:
token, err := ParseFromRequest(req, AuthorizationHeaderExtractor, keyFunc)


[docs] Fix typo

Preview: https://deploy-preview-28549--material-ui.netlify.app/system/styled/#custom-components
Fixed a minor typo in the documentation (code sample and screenshot refers to MyThemeComponent).

@fxlemire Thanks for reporting the pain, I have pushed more commits on this as we could also:

Fix the leaking sx prop on the dom
Precise that it's only visible in dev mode
Fix the capitalization of the screenshot, it's in PascalCase

@fxlemire it's great first pull request on MUI 👌 Thank you for working on it!


add: Relationship between Event component and other k8s components

Notes for Reviewers
This PR:

Add Relationship between k8s Event resource and other k8s resources.

Signed commits

[x] Yes, I signed my commits.

@MUzairS15 In the video, I've added all the relationships for which I raised a PR. However, I manually added the values for now.
https://github.com/meshery/meshery/assets/107461226/70cae644-a4bf-4daa-9b58-8dc3c4c1b705

@RipulHandoo Is spreadsheet updated?

@RipulHandoo Sync your branch with master, now you no longer be required to manually enter values . Thanks for the recording, it is helpful. But will you please update the video on all PRs in which you create relationship as they should be created?

@MUzairS15 I've synced my branch with the master. However, when I bring a pod near a configMap or vice versa, the configuration is not getting updated. The same issue persists for the relations I raised PRs for.
Here is how i'm implementing it.
https://github.com/meshery/meshery/assets/107461226/5d558e77-4efc-4cd1-8b4f-b9839d993954


Homepage

Updated template and added homepage.
Still need to add the following:
- $ spent purchasing inventory.
- $ received from sales.
- cost of sales ingredients consumed.
This will be done when the 3 controllers are created.


test_square test failure with numpy complex64

E                   AssertionError: out=(4+512128000j), but should be roughly x²=512128008j [square()]
E                     x=(16002+16002j)
E                   assert False
E                    +  where False = isclose(4.0, 0.0, 3.4028234663852886e+38)
E                    +    where 4.0 = (4+512128000j).real
E                    +    and   0.0 = 512128008j.real
E                   Falsifying example: test_square(
E                       x=Array(16002.+16002.j, dtype=complex64),
E                   )

I haven't investigated further other than to confirm that it does indeed do that
>>> np.square(np.asarray(16002.+16002.j, dtype=np.complex64))
(4+512128000j)

I don't know if this is a bug in NumPy or just an expected numerical inaccuracy that we shouldn't b testing. I suspect the latter.  It seems the test is just wrong for floating-point arithmetic.

        This is useful for many floating-point operations where the spec does not
        make accuracy requirements.
        """
        if math.isnan(a) or math.isnan(b):
>           raise ValueError(f"{a=} and {b=}, but input must be non-NaN")
E           ValueError: a=-inf and b=nan, but input must be non-NaN
E           Falsifying example: test_square(
E               x=array(1.+8.98846567e+307j),
E           )
E
E           You can reproduce this example by temporarily adding @reproduce_failure('6.78.3', b'AXicY2ZkQAAQe/8HKAcADsUBtQ==') as a decorator on your test case

>>> import numpy as np
>>> np.square(np.array(1.+8.98846567e+307j))
<stdin>:1: RuntimeWarning: overflow encountered in square
(-inf+1.797693134e+308j)

The example in the OP varies between NumPy versions:
>>> import numpy as np
>>> np.square(np.asarray(16002.+16002.j, dtype=np.complex64))
(4+512128000j)
>>> np.__version__
'1.25.0.dev0+1503.g58224647e8'

>>> import numpy as np
>>> np.square(np.asarray(16002.+16002.j, dtype=np.complex64))
512128000j
>>> np.__version__
'1.24.2'

The spec for square doesn't say anything about how accurate the result should be, other than that the special cases should match for x*x (I don't think that applies to any of the examples here).
A big part of the problem is that the helpers are comparing the real and imaginary parts separately. For example, here https://github.com/data-apis/array-api-tests/blob/f82c7bc8627cc2c3a44fa3e425f53a253a609aa8/array_api_tests/test_operators_and_elementwise_functions.py#L264-L265
For floating-point closeness, a complex number should be compared directly, for example, by using cmath.isclose, or by applying the isclose function directly to the complex number (like abs(x - y) or whatever). The relative tolerance of a complex floating-point computation applies to the whole complex number, meaning that if the imaginary part is much larger than the real part, as in this example, the answer is still relatively close.
Also, for square, I'm not sure if we should really test against x**2 at all. If we are going to do that, x*x would be better (although for NumPy they seem to be the same), and with very low tolerances.


🚧 Implement entities into Redux

Description
The main purpose of this pull request is to move all of the individual item objects in stored in key value pair objects in Redux into their own entities reducer.
Test Plan
TODO
Motivation and Context
When adding large amounts of data into Redux, the action creators which add the music items to Redux take a little long considering the calls are synchronous and stacked on top of each other. With these improvements, only one action creator will be required to add any of the entities in the data.
How Has This Been Tested?
Thus far, the synchronous action creators and the reducer case functions have their unit tests passing.
Types of Changes

Documentation
Bug fix
New feature
Breaking change

Checklist

[x] My code follows the code style of this project
[x] My change requires tests to be written
[ ] I have written the tests necessary for my code
[x] My change requires a change to the documentation
[ ] I have updated the documentation accordingly

 Group entities in Redux

 Delete unused actions/reducers

 Create update actions for main level reducers

 Create update action creators for main level reducers

 Update async thunks affected by entities

 Create addOrUpdate case functions

 Update views with new track object structure


Can't we create project with multiple file?

Hey @imrnh! We keep the GitHub issues here only for problems with the examples themselves, not for general Modal questions.
You can probably find the answer to your question here, but if not, please follow up in our Slack community.


Feat/slowquery v2

Codecov Report

Merging #1449 (7d77589) into master (b12b62e) will increase coverage by 1.39%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1449      +/-   ##
==========================================
+ Coverage   26.18%   27.58%   +1.39%
==========================================
  Files         202       93     -109
  Lines       15405     9978    -5427
  Branches      103        0     -103
==========================================
- Hits         4034     2752    -1282
+ Misses      11100     7046    -4054
+ Partials      271      180      -91

Flag
Coverage Δ

backend_integration
?

backend_ut
27.58% <ø> (+0.01%)
:arrow_up:

e2e_test
?

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

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 b12b62e...7d77589. Read the comment docs.

do we have any spec doc?


Error sending EGM UdpUc message with path correct

Hello,
I work with RobotStudio 6.08 and EGM. In the simulation environment it works fine with path guidance. But when I use path correction I always get the error:

41830, Error sending EGM UdpUc message.

And the robot didn't correct the path as set. Instead, it just executed the original path. I couldn't solve the problem. Could you give me some help?
Look forward to your response.

EGM errors can be hard to diagnose. Based on this error code, my suspicion is that the UDP remote address for EGM has not been configured correctly. With EGM you need to configure the IP address of the computer on the robot controller. The robot controller and computer must be on the same subnet.
See Section 3.3 (page 34) of the manual: https://library.e.abb.com/public/4c9bfa6a4e9542bf9386c87f5377a27f/3HAC073319 AM Externally Guided Motion RW6-en.pdf?x-sign=W42ZwkRuP3q1Dr78NoMTFHI0DdPMmb7ezINcsvqB/Ij7YxK7rdtzREC7RSoHvQJW

Thank you for your help.
I have considered this, but it doesn't seem to be the cause, as I managed to implement Position Stream and Position Guidance with the same configuration. In addition, I have tried to change the remote IP address in the robot controller and the IP address of the PC, but I still get the same error.
The first picture is the settings inside the Robotstudio, and the second picture is the configuration of the Ethernet on the PC.

What is the IP address of the robot? Is it a different IP address on the same subnet?

I only set it up in the software and didn't apply it to the real robot. Need I change the IP address of the controller in the software?

You will need to configure the real robot to have a known ip address that is in the sane subnet as your computer. You then need to configure the udpuc device on the real robot to point to your computer. Make sure you have the correct adapter.
What time zone are you in?

Thank you for you advice.
I will follow your advice and try to apply it on the real robot.
In addition, I'm in the East 8 area and there may be some time difference from where you are. I apologize for the inconvenience caused by me.

I'm glad to say I have successfully configured the udpuc device on the real robot and the robot properly corrected its path. But I don't understand why it can't be implemented in a simulation environment. Maybe my communication Settings are not completely correct. All in all this is a very satisfactory result.
Thank you for your advice again! They are very useful to me.


Error in the app

Hi,
First of all i want to thank you for creating this tool, made my life a lot easier since i do a lot of mission with Slooh.
I used it in the last 2-3 years with no change of version or any kind of issues. However, it's already 1 week now since i have some error messages popping up and also a change in the interface.
First issue is that after opening the app, the rows with the location to store the downloads is empty and i have to select it each time. Also, the rows with the format for the folder output are also empty (Mission, Information, Pictures, JPEG and FITS) I wasn't inspired to to a screenshot at the time when this had the formula inside.
Second issue is that i always get the error that the access to the provided path is denied. I tried many locations and i get the same error. I also updated the app to the newest version with no success, same errors appear.
It sucks that i cannot use it because it's a game changer.
Can you help me?
Many thanks!
Bogdan

Have you tried to select a folder using the "Select" button?
Does the target folder exist?
Do you have normal access to it though the file explorer?
I would be interesting to see the stack trace in full. Can you copy it as text into the comments?
The user settings are saved at C:\Users<UserId>\AppData\Roaming\Slooh. Can you check if an xml file Slooh.Explorer.SloohUserSetting.xml is saved there. The filenames you type in should saved there when the programm is closed normally.
Is the programm really running in your user account? (Can be found in the details of the task manager. Some of the error seem as if the programm is running as a differnent user.

The layout has been changed to limit the amount of mission fetched initially. Some people with a large number of missions faced a very long startup time until all missions had been loaded. Now only the first few a fetched and you can select a large number if you want to.

The .xml file is present and shows the path to the folder correctly.

Seems it is downloading already, but that only happens if you press the download button not at program startup.
Also you might want to set the other values if you want to download the parts. My settings are

update: if i delete the .xml file it resets the settings and now i can donwload to the specified path... weird

Thats's stange, but if this is working right now for you again then this is good to know.
I will see if I somehow can reproduce the behavoir.

ok, thanks for the hints. consider this solved :)


Should get appropriate user-friendly message instead of a JSON parse error in the Mobile app.

Describe the bug
Should get user-friendly message instead of a JSON parse error in the Mobile app ,when try to generate VC using UIN/VID but ended up with  error.
To Reproduce

Enter valid UIN
click on Generate ID

Current behavior
we are receiving JSON pares error and unable to download VC
Expected behavior
Error message should be revised.
Screenshots

Smartphone (please complete the following information):

Device: Android
OS: [e.g. iOS8.1]
Inji app version: [e.g 0.3.0]
Mimoto version: [e.g 1.2.x]
MOSIP Version: [e.g. 1.2.1]
Mimoto server: [e.g. https://.....com]
MOSIP server: [e.g. https://...mosip.com]

Additional context
UIN:<PHONE_NUMBER>
Qa4 env (1.2.1 release)
apk details : https://github.com/idpass/inji/actions/runs/2336108380

@Anushree09-N using what conditions can this error be replicated?

@rakhimosip Comment by @ckm007 https://mosip.atlassian.net/browse/MOSIP-23558?focusedCommentId=51761 will help us to know the cause better.
https://mosip.atlassian.net/browse/MOSIP-23558

verified as fixed in the build with commit id in the below screenshot.
https://drive.google.com/file/d/15uWjasH2tRj0qCau8Ljj8YFEoSXi6mfd/view?usp=drivesdk


Shouldn't edit comments if there's no change...

For example, this issue looks like it's edited on every run.  This is a problem for tools that rely on GH's updatedAt field since it looks like there's constant activity.

Agree, yeah, doesn't look like there's a diff

I've got a build with this running tonight

Bah, because I also changed some copy, it correctly edited it: https://github.com/microsoft/TypeScript/issues/42887
Which probably means it works


IP Address Blocked

Hi,
Package is working very well so far.
My only problem is
My IP address got blocked by sofa score for scrapping data from their API using the package(sport-score)
Is there a way to avoid being blocked by Sofascore?

Is there any work around you could advise me to try?
Thank you in advance

this is strange, I believe it should be the number of requests / minute you are doing.

Looks like too many request results in IP address temporarily getting blocked.
Just imagine my server IP address getting blocked, this means my frontend will stop working.
I will move the the code to frontend layer.


style: status badge for Test in README.md

Without this change

With this change

This badge is included at the bottom of this same file
https://github.com/openlayers/openlayers/blob/c6c60446a49e1c87533fcdb85a5692f8a8ff2051/README.md?plain=1#L118

Ah, I didn't even notice that.

Maybe we should move it to the top, to make it more prominent?

@hamirmahal We put it at the bottom on purpose, as that information is usually not the first information a user is looking for. I'd be interested to hear why you think that badge should occupy space at the top of the README.

@ahocevar I've found badges for status checks at the top to be useful because they let viewers immediately see the status of what maintainers consider the most important CI checks, without having to manually click on the mark next to the latest commit to see details.

Most major repositories place that information at the top, so viewers likely expect it to be there, if it's present at all.
https://github.com/ohmyzsh/ohmyzsh/
https://github.com/vinta/awesome-python
https://github.com/twbs/bootstrap?tab=readme-ov-file#table-of-contents
https://github.com/tensorflow/tensorflow
and
https://github.com/facebook/react all follow the convention of putting badges at or near the top.

https://github.com/encode/django-rest-framework
https://github.com/pandas-dev/pandas
https://github.com/flask-admin/flask-admin
https://github.com/sehmaschine/django-grappelli
https://github.com/flask-restful/flask-restful
and
https://github.com/sharkdp/bat are some more popular repositories that follow this convention.

https://github.com/apache/zookeeper and https://github.com/graphhopper/graphhopper are a couple more examples.

@ahocevar It's for the reason I mentioned previously; it's easier for readers to see the status of important checks.

Thanks for the proposed changes.  I think we'll leave things as they are.

You’re welcome.


[Feature] Allow the app to restart itself if incorrect permission level

The application currently has no way of knowing if it is in the correct user scope, which can lead to some unwanted behavior when updating or launching the application and disabling admin rights. Currently, the following happens:

When updating to a newer release:

If the updater is not running with admin privileges, it is unable to write to C:\Program Files\CollapseLauncher\_Temp, which leads to the application crashing with an UnauthorizedAccessException error:

This issue will only arise if the user is not running Visual Studio 2022 under Admin mode, as not doing so makes the C# compiler run without admin arguments, therefore not allowing the application to write to the Program Files folder.

The easiest workaround to fix this would be to simply run VS2022 in Administrator mode, but the best way to do it would be to have the program restart itself with admin rights through Process.Kill() and Process.Start() with Verb = "runas" as its launch parameters.
The reason that this is not an issue in production is because the pre-compiled binaries are compiled in administrator mode, so they have the correct permission levels set.

When launching Collapse:

If Collapse is launched without having a correct version moniker (aka, the version of the launcher is NEWER than what is available) the launcher will launch, but the content will never render, and no exception will be thrown:

If any of those issues arise, we should have the app prompt the user to restart it as admin, or restart itself as admin, either or works. This could prevent any issues from arising if there is an incorrect permission set somewhere.

Making the app to run using administrator privilege permanently is actually possible for most of the case by adding requestedExecutionLevel into app.manifest file.
<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

The problem is that the requestedExecutionLevel property seems to be conflicted with WindowsAppSDK's own app.manifest file and adding that line will give you an error while building the app.
To ensure that the app is always running under administrator privilege, can we put the implementation on the Start-up phase instead of the Update phase only?

As this has been implemented and is currently in testing, closing this issue for now.


[WIP] feat: add token revoke flow

Coverage increased (+0.03%) to 85.819% when pulling c2c6211c42a9adfa9bcb2ab2ccaf36aebc77f235 on feat/revoke-tokens into 83123eee3307ef0a30a1e9b5b454c7079cea095f on master.


Upgrade WORKSPACE macro and dev rules_apple & apple_support version

This fixes Bazel head compatibility as apple_cc_toolchain was removed.

I did a clean run of the two failing actions. Seems there was a staleness bug related to the changed cc_toolchain.

@brentleyjones thank you! Those confused me


[IGNORE] Ci

Messing around with CI behavior in PRs....

Jenkins Build Summary
Built from this commit
Built at 20180302 - 18:40:52
Test Results

Build Type
Result
Status

Codecov Report

Merging #2420 into develop will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2420      +/-   ##
===========================================
- Coverage     70.3%   70.26%   -0.04%
===========================================
  Files          703      702       -1
  Lines        53671    53375     -296
===========================================
- Hits         37735    37506     -229
+ Misses       15936    15869      -67

Impacted Files
Coverage Δ

src/ripple/resource/impl/Fees.cpp
100% <ø> (ø)
:arrow_up:

src/ripple/beast/asio/io_latency_probe.h
79.16% <0%> (-16.61%)
:arrow_down:

src/ripple/basics/DecayingSample.h
77.77% <0%> (-8.34%)
:arrow_down:

src/ripple/server/impl/BasePeer.h
46.15% <0%> (-3.85%)
:arrow_down:

src/ripple/server/impl/BaseHTTPPeer.h
87.03% <0%> (-3.71%)
:arrow_down:

src/ripple/basics/impl/CheckLibraryVersions.cpp
93.18% <0%> (-2.28%)
:arrow_down:

src/ripple/conditions/impl/error.cpp
43.24% <0%> (-1.5%)
:arrow_down:

src/ripple/core/impl/TerminateHandler.cpp
78.94% <0%> (-1.06%)
:arrow_down:

src/ripple/app/paths/PathRequests.cpp
69.02% <0%> (-0.89%)
:arrow_down:

src/ripple/resource/impl/ResourceManager.cpp
70.21% <0%> (-0.63%)
:arrow_down:

... and 103 more

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 6230204...66ef33d. Read the comment docs.


Tip of the week: Data Engineering with SQL, Arrow and DuckDB

Adds a new tip of the week blog post on "Data Engineering with SQL, Arrow and DuckDB".
Thank you in advance for any suggestions/edits/thoughts you may have!

Thanks all for the reviews!


Clarification needed for Tag_RISCV_unaligned_access

This issue tracks a couple of ambiguities in the wording for this which came up in discussion on https://reviews.llvm.org/D126085.
I'm going to start with a couple of detailed concerns, and then raise a broader justification question at the end.
First, the word "impose" in "Indicates whether to impose unaligned memory accesses in code generation." is unclear to me.  Its not clear what meaning this was intended to mean.
Second, giving the existence of inline assembly, it is impossible for the compiler to precisely determine if the object file contains an unaligned load.  The author of the inline assembly knows, but the alignment may not be visible to the compiler in any way.
This leaves the compiler two choices: either always set the flag when a possibly unaligned load is present, or don't.
Both are problematic.
If we set it conservatively (which seems to match the "may perform" wording), then essentially every object file will have this set.  This means that runtime could can not take any meaning from the tag, as while the code "may" contain unaligned access, there's no guarantee that a) such unaligned access exists, b) if it exists it executes, or thus c) that the hardware actually supports unaligned accesses.
If we only set it when we know an unaligned access exists, then tools have to deal with object files which do contain unaligned accesses, but the compiler failed to notice.
Third, the tag appears to indicate whether an unaligned access exists, not whether it executes.  This is problematic for any binary which wishes to do runtime feature detection and dispatch between two versions of code - one with only aligned and one with unaligned access.  How should such a binary be tagged?
Note that clarifying/changing any of the above may be a breaking change for existing implementations.  We should make sure to survey the impact of any changes on existing deployed code before deciding on a path forward here.
Now, switching to higher level justification.
I do not understand what the intended use case for this feature is, and that makes it hard to figure out what the intended semantics are.
During the LLVM risc-v sync up call today, two possible use cases were mentioned:

Using the tag to warn about likely bad binaries for a system which does not support fast unaligned access.
Using the tag to change code generation policy in a debugger such as LLDB.

Use case 1 becomes nearly useless if we adopt the "may perform" interpretation above as any object file containing inline assembly will be marked as having unaligned accesses.
Use case 2 seems like a misuse of the feature.  LLDB should not be generating code based on the characteristics of the binary being run, but based on the characteristics of the remote host.  As an illustrative example, say you're debugging a fault due to a misaligned load executed on a remote host which does not support misaligned access.  Having the debugger generate code for an expression using an unaligned load just because the ELF binary happened to use this tag seems... unhelpful.
My personal take here is that we'd likely be better removing this feature from the spec entirely.  We can reserve the ID space if desired, but if this hasn't actually been implemented in any toolchain yet - which I hope is the actual status - we should defer the specification work until we have a concrete use case in mind.

GNU ld also OR's the flag for all input files https://github.com/bminor/binutils-gdb/blob/a37603c43f8da7983ed53b567ea30ce66066daa2/bfd/elfnn-riscv.c#L3763-L3765

Currently, this essentially says "the code has been compiled with -mno-strict-align".
Object files need to state if they require a machine that can handle misaligned accesses.
The idea is to prevent incompatible binaries from being started on machines that don't provide the required capabilities.
Connecting that to -mstrict-align is too conservative, but tools are free to do better as you propose
(e.g. require to emit at least one unaligned access being emitted).
It is correct, that the dynamic dispatching case is not covered yet.
But we have a limited solution using the .option directive for asm code:
.option push
.option arch,+zbb
.globl orcb
.type orcb,@function
foo:
        orc.b a0, a0
        ret
.size foo,.-foo
.option pop

This compiles without zbb in the march string and will not add zbb to Tag_RISCV_arch.
With this feature, I've been able to create a patchset that implements ifunc routines in glibc
(for str* and mem* functions).
The reason, why the dynamic dispatching aspect is not fully covered by specifications and tools atm is,
that we currently don't have run-time detection of HW capabilities in RISC-V.
However, that's one of the goals of this year (the configuration TG is working on a Unified Discovery specification).
Another aspect that I'd like to throw in here is that the upcoming profiles specification defines the Zicclsm extension,
which requires that "misaligned loads and stores to main memory regions with both the cacheability and coherence PMAs must be supported.". Dynamic dispatchers might want to check the availability of this extension.

Phillip pointed me at this one, and while I'm not entirely sure about the LLVM side of things here's some comments:

The Tag_RISCV_unaligned_access is defined as "Indicates whether to impose unaligned memory accesses in code generation", but that really doesn't make any sense:
The Linux uABI (and SBI, for that matter) mandates that misaligned accesses are supported.  This used to be required by the ISA but that was relaxed, it's not documented anywhere else.
Dynamic dispatchers really need to know if misaligned accesses are fast, not just supported.  There's way more than one bit of information there, so we're probably going to end up with this just being a uarch-specific tuning.
Tag_RISCV_arch is too vague to encode the actual constraints on a binary, as it doesn't account for things like partial-file arch options and dynamic execution.  We stopped ascribing any meaning to it in BFD a while ago because of that.

So IMO the right way to go here is:

Make linux/Documentation/riscv/uabi.rst and write down that misaligned access rule.
Have LLDB handle misaligned accesses for Linux targets, quoting said rule.
Add something to the GDB XML file (I'm assuming LLDB can read those too?) that says whether misaligned accesses are supported, which the remote can then fill out for embedded targets (maybe just by knowing that, or maybe by probing).
Deprecate Tag_RISCV_unaligned_access, as it doesn't convey any meaningful information.

The intention is tag that when compiler might generating unaligned access, the inline assembly code are not covered, user/programmer should take responsibility for that, that is designed for debugging performance issue or unexpected trap in some scenarios - mainly used for exclude some possibility.
What if we got unexpected slow performance or unexpected unaligned access trap? that could cause by different reason, one of the reason is compiler generated unaligned memory access - if so we can quickly diagnosis that  by the checking the tag,
However profile has mention a new extension name called Zicclsm recently, that extension indicated misaligned loads and stores is supported, so I think that would be better way to describe the info in future, just carry those info by ISA string, but the problem is we don't have too much further info for that yet and no SW has implement yet, but once we start to implement that, that should be a better way to describe the binary (via Tag_RISCV_arch).

@palmer-dabbelt: I think we should give few more word to clarify Tag_RISCV_arch, the design goal of this attribute is describing the minimal execution environment requirement of the object.

I think that Zicclsm is the right direction (and always thought it odd that support for misaligned access was left out of the ISA naming string). So although we could debate precise semantics of Tag_RISCV_unaligned_access, it would perhaps be better to update the spec with a note that this tag is expected to be deprecated once an extension is defined to indicate support for misaligned access (meaning the ISA naming string can be used instead).


Ship a display link-based frame clock for Darwin-y targets

We have one inside the counter sample, but it can be written in pure Kotlin and upstreamed (similar to how we ship an Android one). Counter sample should be updated to use it.
Kevin is building it in Molecule and we can copy/paste once we're happy with it.

This issue was for Redwood, not Treehouse.


TS-1878: Add --as-needed to the linker flags

Normally the linker will link to every -llibrary mentioned on the
command line. This option causes it to skip libraries that it doesn't in
fact use any symbols from.
The first commit in this PR belongs to #1411.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/1357/ for details.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1464/ for details.

clang-analyzer build successful! See https://ci.trafficserver.apache.org/job/Github-Clang/29/ for details.

Merged. Thanks @zwoop!


latest.json responses for talk sometimes really big

Occasionally I get into a state (not clear to me yet how) where my ship spends large amounts of time spinning on <<http>>. I suspect the Talk frontend is the one making requests that cause that, because:

Closing the tab with Talk in it usually alleviates the issue.
Looking in the networking tab for Talk when the problem occurs, requests for latest.json receive a response that's a couple of megabytes in size. Latest I saw was 3.8mb.

If the backend is trying to serialize that much chat data, no wonder it's taking some time. Whatever "latest" we're scrying could probably get a more tightly-scoped response from the backend.

Paired with latest changes to the way that we fetch updates this is really painful, especially if you're getting tons of notifications from a dm/group-dm. Also since we're not actually surfacing notifications in talk we should probably just not start hark in talk frontend.

Could this be the culprit for #1870?


Tabbed sidebars

The bottom of the screen (terminal, comments, output etc.) can have tabs to switch between, however, the sidebars (outline, file tree, extensions etc.) are forced to be in an expanding list with dropdowns. Adding this would also remove inconveniences with resizing the sections each time you open up different ones

Have you tried using the Side Panel yet?

I tried to get that, but couldn't find an easy way to make it
If it is possible, change the feature request to just making it easier to create, maybe by dragging 2 pannels over each other

Side bars are already "tabbed" ... In the primary side bar (the one you mention), the activity bar acts as a tab picker. The same is true for the "side panel" (currently undergoing a rename in insiders). THe "side panel" works just like the bottom panel in terms of tabbing except it uses a horizontal row of icons. Can you help me understand what you'd like to see changed here?

For the side bar (left/right), is there a way to make it only the words as tabs like the terminal, or as a row of icons to switch between?
Currently it's only a list with each extension being a bar which can expand downwards, and it'd be nice to have one button to change the whole sidebar like terminal/output/comments etc.

No, not with one button, but you can drag views into their own tab to replicate this behavior


install: don't repeat log message when waiting for test namespace to be deleted

Avoid repeating the same log message upon test namespace deletion.
Noticed while debugging AKS failure on https://github.com/cilium/cilium/pull/19665
Fixes: b3d0e95f29bc ("install: Wait for test pods to be cleaned up")

See https://github.com/cilium/cilium/runs/6257588501?check_suite_focus=true for an example where these log messages were repeated over and over again.

Thanks!

See https://github.com/cilium/cilium/runs/6257588501?check_suite_focus=true for an example where these log messages were repeated over and over again.

Does that not mean we have another flake(s) on AKS?

Thanks!

See https://github.com/cilium/cilium/runs/6257588501?check_suite_focus=true for an example where these log messages were repeated over and over again.

Does that mean we have another flake(s) on AKS?

Possibly. I'll look into it. AKS workflow has been flaky or even broken recently, so might also be just another failure mode.


ESD protection on the USB connector

I've heard the part USBLC6-2SC6 is commonly used for ESD protection on the USB data lines.

SRV05-4 (LCSC part number C85364) - basic part
ECMF02-4CMX8 (LCSC part number C717678) -extended part
SMF05CT1G (LCSC part number C15879) - basic part

It happened with lite-matsukazeso today. When Alisaun touched the volume dial, the panel controller became non-responsive and it triggered a software restart.
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: got a serial message: DialValue { diff: 1 }
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: Handling hardware action DialTurns { ticks: 1 }.
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: resetting the audio volume.
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: Share screen audio volume set to: -18 dB
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: portal state updated: PortalState { mode: Normal(NormalState { share_screen_menu_state: NotShown, share_screen_volume: 11 }), casting_state: CastingState { sending_start: None, receiving_start: Some(Timestamp(1707096691.974275954s)) }, current_peer: <IP_ADDRESS>, debug_overlay: false, local_maintenance_state_preference: Nominal, remote_maintenance_state_preference: Nominal }
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: [main] PanelActor handle error: Operation timed out, shutting down.
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: Thread [PanelActor] shutting down the actor system
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: Thread [PanelActor] setting the system_state value to ShuttingDown
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: [main] system shutting down.
Feb 05 10:32:27 lite-matsukazeso-portal tonari[888668]: [main] calling pre-shutdown callback.

The part I chose wasn't great in terms of availability. This part should be easier to source:
USBLC6-2SC6
https://jlcpcb.com/partdetail/Stmicroelectronics-USBLC62SC6/C7519


clangStdenv doesn't seem to work

So, I think that clangStdenv is implemented rather naively. It seems to force compilation of stages 0-3 with clang, meaning that it tries to build glib and the kernel with clang. This barfs out.
Can it be fixed to apply set clang to be cc after building the kernel and glib?

clangStdenv is working nowadays and is actually used in some packages.


scale.linear is broken in v4

The use of d3.scale.linear()  works fine with v3 but not with v4.
I get the error

Uncaught TypeError: Cannot read property 'linear' of undefined

`

Solution found: https://github.com/d3/d3/blob/master/CHANGES.md#scales-d3-scale


Search for good introduction slides for open-source in business environments

Might be a duplicate (or vice versa) of #45.

No longer necessary - slides created on our own.


Width issues when using label option

Hi Tobias,
first of all, thanks a lot for this package! :)
However, I've got some issues using the width option alongside with the labels. My goal is to have the width of the diagram equal to the \textwidth, but it seems the label options are on top of the width, see example below:
\begin{figure}
	\begin{bchart}[min=5, max=55, step=10, unit=\%, width=\textwidth]
		\bcbar[label=All passwords, color=red]{7}
		\medskip
		\bcbar[label=Most of the passwords, color=red]{20}
		\medskip
		\bcbar[label=Some passwords, color=red]{45}
		\bigskip
		\bcbar[label=Don't know, color=yellow]{7}
		\bigskip
		\bcbar[label=None of the passwords, color=green!50]{20}
	\end{bchart}
	\caption{Percentage of password re-usage in the United States in 2018}
	\label{fig:us-password-reuse}
\end{figure}

Renders:

Am I missing an option or have an error in reasoning? (current workaround is to use width=.65\textwidth but if I change the labels again, I need to figure out the width again.
Thanks,
Tim

Hi Tim,
Yes, the width argument is only about the part with the bars and is not considering the labels. The precise behavior you would like to have is probably hard to achieve. Using something like width=.65\textwidth is probably the best work-around.
Regards,
Tobias

Alright, I can live with that :) - closing


extra spaces in extension-definition

In extension-definition--3a65884d-005a-4290-8335-cb2d778a83ce.json, the value of the id property contains a leading and trailing space character. As a result, stix2.FileSystemSource raises an exception, reporting an invalid id.

@lisch
Thanks for catching that.  It is now fixed in the main branch

The leading space has been deleted, but the trailing space remains. As a result, stix2.FileSystemSource still raises an exception.

:-(.
Fixed in main branch


feat: return size and mime types in bucket GET

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 7 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 84.515%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
6987

Relevant Lines:
8209

💛  - Coveralls


RuntimeError: ms_deform_attn_impl_forward: implementation for device cuda:0 not found.

I am trying to run mmdetecting using grounding-dino weights. I managed to run the inference using CPU but could not manage to get the GPU work. I am currently running on local machine.

This is my versions.

can anyone help me in getting my gpu to run this?

https://github.com/open-mmlab/mmdetection/issues/10841

hi @hhaAndroid , I dont understand on the compilation of CPU mode. Could you send me over a guide for the GPU mode compilation?
I installed mmcv using the MIM package which was recommended in the guide from mmdetection's github repository.
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
Is this particular method on a cpu mode?

Hi, I found same problem "RuntimeError: ms_deform_attn_impl_forward: implementation for device cuda:0 not found.
". if you have any solutions?

hi @hhaAndroid , I dont understand on the compilation of CPU mode. Could you send me over a guide for the GPU mode compilation?
I installed mmcv using the MIM package which was recommended in the guide from mmdetection's github repository. pip install -U openmim mim install mmengine mim install "mmcv>=2.0.0"
Is this particular method on a cpu mode?

should consider "Build MMCV from source".
use command "mim uninstall mmcv" and compiled mmcv as https://mmcv.readthedocs.io/en/latest/get_started/build.html#build-mmcv-from-source
just solved same problem in this way.
hope it will help u

Make sure to set MMCV_WITH_OPS=1

That is crazy, I tried everything but error is still there. both mmcv-full and mmcv is built for cuda124, and they are suitable GPU. Still have the error. should be something else.


 But I can't foreach through the items, because the collection_key property of the collection class is prefixes.
If I change the collection_key to items via reflection :neckbeard: it works.

Now the issue should be moved to:
https://github.com/google/google-api-php-client-services

@patkar Closing here, but feel free to open a new one on the other repo. Thanks!


Update dependency urllib3 to v2.2.2 [SECURITY]

This PR contains the following updates:

Package
Type
Update
Change

urllib3 (changelog)
packages
minor
==2.0.7 -> ==2.2.2

GitHub Vulnerability Alerts
CVE-2024-37891
When using urllib3's proxy support with ProxyManager, the Proxy-Authorization header is only sent to the configured proxy, as expected.
However, when sending HTTP requests without using urllib3's proxy support, it's possible to accidentally configure the Proxy-Authorization header even though it won't have any effect as the request is not using a forwarding proxy or a tunneling proxy. In those cases, urllib3 doesn't treat the Proxy-Authorization HTTP header as one carrying authentication material and thus doesn't strip the header on cross-origin redirects.
Because this is a highly unlikely scenario, we believe the severity of this vulnerability is low for almost all users. Out of an abundance of caution urllib3 will automatically strip the Proxy-Authorization header during cross-origin redirects to avoid the small chance that users are doing this on accident.
Users should use urllib3's proxy support or disable automatic redirects to achieve safe processing of the Proxy-Authorization header, but we still decided to strip the header by default in order to further protect users who aren't using the correct approach.
Affected usages
We believe the number of usages affected by this advisory is low. It requires all of the following to be true to be exploited:

Setting the Proxy-Authorization header without using urllib3's built-in proxy support.
Not disabling HTTP redirects.
Either not using an HTTPS origin server or for the proxy or target origin to redirect to a malicious origin.

Remediation

Using the Proxy-Authorization header with urllib3's ProxyManager.
Disabling HTTP redirects using redirects=False when sending requests.
Not using the Proxy-Authorization header.

Release Notes

urllib3/urllib3 (urllib3)
v2.2.2
Compare Source
==================

Added the Proxy-Authorization header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set via Retry.remove_headers_on_redirect.
Allowed passing negative integers as amt to read methods of http.client.HTTPResponse as an alternative to None. (#3122 <https://github.com/urllib3/urllib3/issues/3122>__)
Fixed return types representing copying actions to use typing.Self. (#3363 <https://github.com/urllib3/urllib3/issues/3363>__)

v2.2.1
Compare Source
==================

Fixed issue where InsecureRequestWarning was emitted for HTTPS connections when using Emscripten. (#3331 <https://github.com/urllib3/urllib3/issues/3331>__)
Fixed HTTPConnectionPool.urlopen to stop automatically casting non-proxy headers to HTTPHeaderDict. This change was premature as it did not apply to proxy headers and HTTPHeaderDict does not handle byte header values correctly yet. (#3343 <https://github.com/urllib3/urllib3/issues/3343>__)
Changed InvalidChunkLength to ProtocolError when response terminates before the chunk length is sent. (#2860 <https://github.com/urllib3/urllib3/issues/2860>__)
Changed ProtocolError to be more verbose on incomplete reads with excess content. (#3261 <https://github.com/urllib3/urllib3/issues/3261>__)

v2.2.0
Compare Source
==================

Added support for Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html>, including streaming support in cross-origin isolated browser environments where threading is enabled. (#2951 <https://github.com/urllib3/urllib3/issues/2951>)
Added support for HTTPResponse.read1() method. (#3186 <https://github.com/urllib3/urllib3/issues/3186>__)
Added rudimentary support for HTTP/2. (#3284 <https://github.com/urllib3/urllib3/issues/3284>__)
Fixed issue where requests against urls with trailing dots were failing due to SSL errors
when using proxy. (#2244 <https://github.com/urllib3/urllib3/issues/2244>__)
Fixed HTTPConnection.proxy_is_verified and HTTPSConnection.proxy_is_verified
to be always set to a boolean after connecting to a proxy. It could be
None in some cases previously. (#3130 <https://github.com/urllib3/urllib3/issues/3130>__)
Fixed an issue where headers passed in a request with json= would be mutated (#3203 <https://github.com/urllib3/urllib3/issues/3203>__)
Fixed HTTPSConnection.is_verified to be set to False when connecting
from a HTTPS proxy to an HTTP target. It was set to True previously. (#3267 <https://github.com/urllib3/urllib3/issues/3267>__)
Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (#3268 <https://github.com/urllib3/urllib3/issues/3268>__)
Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (#3325 <https://github.com/urllib3/urllib3/issues/3325>__)
Note for downstream distributors: To run integration tests, you now need to run the tests a second
time with the --integration pytest flag. (#3181 <https://github.com/urllib3/urllib3/issues/3181>__)

v2.1.0
Compare Source
==================

Removed support for the deprecated urllib3[secure] extra. (#2680 <https://github.com/urllib3/urllib3/issues/2680>__)
Removed support for the deprecated SecureTransport TLS implementation. (#2681 <https://github.com/urllib3/urllib3/issues/2681>__)
Removed support for the end-of-life Python 3.7. (#3143 <https://github.com/urllib3/urllib3/issues/3143>__)
Allowed loading CA certificates from memory for proxies. (#3065 <https://github.com/urllib3/urllib3/issues/3065>__)
Fixed decoding Gzip-encoded responses which specified x-gzip content-encoding. (#3174 <https://github.com/urllib3/urllib3/issues/3174>__)

Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Self-Hosted Renovate Bot. Find all logs here.

 You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


Ability to add various resin notification points

Suggested by Noh#4452 on Discord
Hey my suggestion would be to be able to set a notification when you reach a certain amount of resin before the 160 max
Like: You got 140 resin you'll be full in 2hours and 40minutes

Implemented!


Job execution

Current coverage is 76.00%

Merging #177 into develop will decrease coverage by -1.66% as of bcffb2c

@@            develop   #177   diff @@
======================================
  Files            74     74
  Stmts          2221   2275    +54
  Branches        202    205     +3
  Methods           0      0
======================================
+ Hit            1725   1729     +4
  Partial          37     37
- Missed          459    509    +50

Review entire Coverage Diff as of bcffb2c

Powered by Codecov. Updated on successful CI builds.

@amitsharma1981 since you're still actively working on this I'm going to close this PR until you're done.


Add support for per-component limits in the pooling allocator

That is, we should be able to reject allocation/instantiation for a component with more instances/tables/etc than a pre-configured limit, even when we actually have that much capacity in the pooling allocator.

This might exist in InstancePre, need to double check.

Either way, we should have typed errors for when you try to instantiate a component that lets you determine whether instantiation failed because there is not enough capacity for the component currently, or because the component is statically above the configured per-component limits on tables/memories/etc.