Problems using Consul as certificate store (x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate)

Hi, this is more a question, than an issue.
I want to use Consul as certificate store with Fabio. Fabio is started by nomad with the exec driver. Consul is configured to use mTLS, which means I have a custom CA. Consul stores at the moment self signed certificates, later on they will come from LetsEncrypt.
At the moment I use fabio 1.3.0, nomad 1.3.0 and consul 1.12.0.
Fabio is started this way:
-log.level TRACE -insecure
-registry.consul.tls.insecureskipverify=true
-registry.consul.addr https://localhost:8501
-registry.consul.kvpath /system/fabio/config
-registry.consul.noroutehtmlpath /system/fabio/noroute.html
-registry.consul.tls.cafile /etc/gravity/consul/certificates/consul-agent-ca.pem
-registry.consul.tls.certfile /etc/gravity/consul/certificates/fabio.pem
-registry.consul.tls.keyfile /etc/gravity/consul/certificates/fabio-key.pem
-proxy.cs "cs=cluster;type=consul;cert=https://localhost:8501/v1/kv/system/fabio/https-certificates"
-proxy.addr ":9997;cs=cluster,:9999;proto=http"

With this configuration I see the following line in the logs:
[WARN] cert: Error fetching certificates from system/fabio/https-certificates. consul: list: Get "https://localhost:8501/v1/kv/system/fabio/https-certificates?consistent=&recurse=": x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "XYZ")
I can access consul, with the binary and with curl without problems.
I have the following entries as SAN in the certificate client.xyz.consul,localhost,<IP_ADDRESS>
I tried also adding the hostname where fabio is running and its public IP, but I still get the same error. It would help to see the exact call that fabio  makes to consul.
Has someone an idea how I could fix this?
Thank you and thanks for fabio.

Ups. I use  fabio 1.6.0. Sorry.

So as it stands currently, none of the consul.registry config items influence the behavior of the consul certificate store's consul api client.  So using self-signed certificates with loading certs from consul is not currently possible.  One workaround would be to talk to a local consul agent over http and configure encryption on the consul cluster for node-to-node communication.  Another option would be to store the certificate information inside of vault and use the vault cert store backend instead.  It would be fairly easy to add some options to override the certificate bundle use for the consul cert backend api client, but that doesn't exist today.

so it might be sufficient to specify the CA using the SSL_CERT_FILE environment variable.  @hdecolle can you try this and see if that helps?
https://pkg.go.dev/crypto/x509#SystemCertPool

so I compiled an arm (32 bit) binary for my pi with just this random function in it, and sure enough it returns -1 at least half the time.  I can't reproduce it on any 64 bit arch.

so this makes sense now...
	return int(time.Now().UnixNano()/int64(time.Microsecond)) % n

That casts the 64 bit integer to an int before doing the mod operation, so it overflows to negative.  the mod of a negative number is a negative number.
Interestingly, benchmarking math/rand's rand.Intn is 4x faster than this method is anyway, so I'll have a fix for this shortly

disregard mentions of a PR for this issue, that's for #872, not this one.

Thanks for the suggestion, but it did not work. I have got the same error.
Vault can't be used at the moment, but it is the end goal.
At the moment I have the following workaround:

Fabio is reading the certs from a file store
When Fabio is deployed via Nomad, a sidecar job starts a consul-template which watches the consul kv path for changes and writes all certificates from the Consul KV path to the disk

So as it stands currently, none of the consul.registry config items influence the behavior of the consul certificate store's consul api client

I thought the following are used to access consul and when I think about it, those do work, because if they would not, then fabio would not be able to route anything. Or is fabio calling the "consul" binary, which already has a working connection to the server?
-registry.consul.tls.cafile /etc/gravity/consul/certificates/consul-agent-ca.pem
-registry.consul.tls.certfile /etc/gravity/consul/certificates/fabio.pem
-registry.consul.tls.keyfile /etc/gravity/consul/certificates/fabio-key.pem

So using self-signed certificates with loading certs from consul is not currently possible.
So is the issue then that I have a self-signed certificates in the consul cert store?

Which would mean if I only store certificates which are signed from LetsEncrypt, that it would work without at problem? I did not yet try that.
Then my test with the SSL_CERT_FILE was invalid because I have used the Consul CA for that.
The self signed-certs are not created with a CA because the idea was to use them only for the time where no certificates from LetsEncrypt where available.

So you don't actually need a nomad sidecar in this scenario, you can actually do inline templates with substitutions from consul values, just like you could with vault secrets.  So what might make sense here is to do what you're doing here, but instead of a sidecar, just use an inline template inside of nomad.
https://www.nomadproject.io/docs/job-specification/template
Ideally, the consul certificate store would use the same values passed to the registry.  I will make this as a note for the next release.  But I think your workaround is sane, though you could skip sidecar step as I mentioned above (assuming I fully understand your scenario).

Thanks for the suggestion.
I tried it with inline templates first, but as I understand it, fabio needs each "domain" as a single certificate even though it is a san certificate.
At the moment each domain has an entry in the KV "directory" that fabio should use. I also update those paths with a different service. But since fabio can't access the kv path in my setup, I needed a way to download each certificate to the disk where fabio is running.
For that to work the inline template must write more than one file, and I did not find a way. So I used a nomad sidecar and consul-template for that.

You can have as many inline templates as you want within the nomad job spec, that render to as many files as you want.  Also, fabio is smart enough to map all of the SAN names in a certificate, so you shouldn't need a file per domain name.  Wildcards also work.
https://github.com/fabiolb/fabio/blob/v1.6.1/cert/store.go#L100

Is there any news regarding this issue?
Now I have one file for each SAN certificate. It works great thanks for the tip.  Also only one entry per SAN certificate in the consul kv store now.
The rest of my workaround is still the same. Now I have fabio in version 1.6.3, noamd in 1.5.5 and consul in 1.15.2.
I know that nomad can render multiple inline templates, this was the solution that I had previously but then I have to change the job file each time a new SAN certificate will be added. I would like to avoid that.


Uploading annotations using Python high-level API

My actions before raising this issue

[ x] Read/searched the docs
[ x] Searched past issues

I have a number of images and matching polygon annotations. I would like to get these into CVAT, and have create a "task" and uploaded a couple of images using a modified version of the the example given in:
https://opencv.github.io/cvat/docs/api_sdk/sdk/highlevel-api/
Now I would like to add some annotations to the images, but this is where my problem starts:
The "task.get_meta()" contains the names of the files I have added, but does not contain the generated image-ID's. And the "annotations" structure contains an image ID, but does not contain the original file name:
{'shapes': [{'attributes': [],
             'elements': [],
             'frame': 0,
             'group': 0,
             'id': <assigned_image_id>,
             ...

Is it possible to find matched "file name" and "image ID" information, or how do I ensure that my annotations are attached to the correct image?
Or am doing it completely wrong?
Right now, for each image I have a JSON-file that contains my existing annotations. Should I rather create a task and upload images/annotations in a different way?
Thanks.

Hi, the task.get_meta() function returns the file names in the same order as the files are available in the task. Please use the list indices (0-based) as frame ids in the annotations you're sending.


Character for multiply looks too similar to the character for the letter x

The character for multiply looks very similar to the character for the letter x.  It's especially difficult if you are using a sprite's vx field in the same operation blocks that you're using multiplication because the x in multiply looks too similar to sprite's x and you think you probably have a bug in your code.
Please change the font or symbol used to do mathematical multiplication to look much more different than the font used to show a sprite's x coordinate.

Hi! I'm a student in a software methodology class and I have an assignment to contribute to an open source project. I'd love to help. Could I be assigned to this issue?

Hi, I just wanted to checkup with this issue, incase my first comment might've been missed. Would love to help!

Hi, I'm the person who opened the issue. I'm happy for you to help work on this. :)

No plan to address this in the near future


Projection operation are very slow

When benchmarking the histogram I have notice that pyclesperanto is very slow.
I identified the issue to the SumYProjection operation at the end to sum the partial histogram into a final one.
Projection (minimum, maximum, and sum) are costly without any good reason.
We need to solve this issue.
Possible things to check:

Only tested Y and Z direction, is it the same for X?
Is the GlobalNDRange correct?

Projection kernels are very basics, I fail to understand why they can be so slow ...

I just saw that

maximum_z_projection on a 3D image returns a 3D image and
maximum_of_all_pixels on a 2D image returns a 2D image.

Is it possible that the projection are computed many many times because the projected image does not have one dimension less than the original image? That might explain why it's slow...

I think there are multiple issues here.
I solve it for he histogram, the problem was coming from the output shape which is, by default, the same as the input.
    @plugin_function
    def histogram(self, input_image: Image, output_image: Image = None, bins : int = 256):
        from ._pyclic import histogram as op
        op(self._gpu, input_image, output_image, bins)
        return output_image

However this is not the case for the histogram which return shape is a 1d array of size equals the number of bins. Adding the
line
        output_image = self.create([bins])

greatly improve the overall speed of the function.
For operation like sum_?_projection etc. I believe we need to adapt the output shape properly. For example, if applying a sum_y_projection on a 2D data (Y,X) the output return should be a 1D array (X) and not a 2D array (1,X) which is the case currently.
Finally, a projection along Z on a 2D data still take more time than it should. The operation will still make a run for all (x,y) pixels even though the Z dimension is empty. A test on dimension could prevent this useless run.

will reopen when benchmarking will be the main topic


be carefull with **kwargs call

Context
we need to be carefull when using **kwargs in a function signature.
We should always raised an expectation when too many kwargs are passed.
Example:
if I define def f(hello='hello', **kwargs) but I call the function with f(heello='hey') it will not be called at runtime and it the typo will create confusion.
We should avoid this in a systematic manner maybe with a decorator
Context

[ ] think how to solve this problem in a general way
[ ] go over each **kwargs usage and verify that we handle it proprely

I do not understand this issue, this is a common Python problem, I do not think we can fix it, and it would be an overkill handling this

Well we can def'ly fixed it. I actually think this is one of the major blocker of Jina this kwargs things since we use it everywhere.
To me if we don't tackle this from the start we create a lot of pain for users. The whole pydantic / FastAPI idea is that we should be able to catch this kind of typo

what does FastAPI and Pydantic have to do with kwargs in methods?

But this is just what they do, it is not that it is their main value proposition


Upgrade to beta 3

It seems to work locally (even when using TLS) - but when Godot tries to make a connection using websocket to the remote server, the server instantaneously closes the connection - @siku2 Do you have any idea what is going on? (The HTTPS request to get the lobby id works fine)

Update:
The same happens locally when using localhost instead of the loop back IP (<IP_ADDRESS>) directly...

Update:
On Linux, everything works seamlessly...

The curious case of the disappearing comment :P


[Feature Request] Expand RDF triples as separate nodes and edges

Community Note

Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.
If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Graph Explorer Version (and Graph Database and Version used if applicable)
Any
Is your feature request related to a problem? Please describe.
RDF/SPARQL based graphs currently consolidate triples within a class into a node as properties. This potentially portrays the underlying graph as a property graph instead of RDF. Some users would like to be able to expand and view the shape of a class as predicates and objects instead of as properties within a node.
Describe the solution you'd like
An option to expand rdf triples as separate nodes and edges without consolidating the related triples as properties inside a node.
Additional context
An expected view of the graph would be similar to the W3 rdf data visualization.

There's a scenario this might open up that could be interesting. Imagine we could add a literal value, such as "Bill" to the graph as a node. We could then expand on that literal to see all relationships to the literal "Bill".
The query to get this data could be rather expensive. But there is potential here.
Mockup


Update the documentation to include the new -loader requirement

Versions:
react: 15.4.2
npm: 4.1.2
node: 7.6.0

I think it's the version of React, but it may be one of the others, but using loaders now requires that you suffix them with -loader, like loader: 'babel-loader?presets[]=es2015,presets[]=react!svg-react-loader' in your webpack config. Otherwise, the build fails.

This is required by Webpack 2, and it would be a good idea to change the docs to include the -loader suffix regardless.


Add proper tests

Right now, we only use a crude smoke test. We should at least properly verify the mesh generation for a non-trivial 2D and a non-trivial 3D example.

We partially do this now in that a single element in a 2D mesh (via AbaqusReader) is checked against known reference values. I could add a 3D variant of this test as well. Would that be enough to address this issue?

I believe so. This would at least fail if anything major in the toolchain breaks down. A 3D variant would be useful as well, then this can be closed I believe.

Done. I added a 3D test (among others) in #15


4254 slippage

Description

Type of change

[ ] Docs change / dependency upgrade
[ ] Configuration / tooling changes
[ ] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
Related pull request(s)

@prathmeshkhandelwal1 seeing conflicts

Yes. Resolving that

@prathmeshkhandelwal1 is this pr still active?


The project description should point to the right docs url

Should say: http://dev.fast.ai

Sounds reasonable :)


Uncaught TypeError: Callback must be a function. Received undefined

[Enter steps to reproduce:]

...
...

Atom: 1.52.0 x64
Electron: 6.1.12
OS: Mac OS X 10.14.4
Thrown From: git-history package 3.3.0
Stack Trace
Uncaught TypeError: Callback must be a function. Received undefined
At fs.js:150

TypeError [ERR_INVALID_CALLBACK] [ERR_INVALID_CALLBACK]: Callback must be a function. Received undefined
    at makeCallback (fs.js:150:11)
    at Object.mkdir (fs.js:735:14)
    at /packages/git-history/lib/git-history-view.coffee:104:20
    at n (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:1088976)
    at /Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:1089064
    at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:1087732)
    at Socket.emit (events.js:205:15)
    at Pipe.<anonymous> (net.js:586:12)

Commands
     -0:54.7.0 command-palette:toggle (input.hidden-input)
     -0:48.6.0 git-history:show-file-history (input.hidden-input)
     -0:32 editor:consolidate-selections (input.hidden-input)
     -0:32 core:cancel (input.hidden-input)
     -0:14.2.0 command-palette:toggle (input.hidden-input)
     -0:09.2.0 git-history:show-file-history (input.hidden-input)
     -0:04.4.0 editor:consolidate-selections (input.hidden-input)
     -0:04.4.0 core:cancel (input.hidden-input)

Non-Core Packages
git-history 3.3.0

There is any update?

Would love to use this package but getting the same error as above


Use version in gdown/cli.py

In addition to https://github.com/wkentaro/gdown/pull/214

yeah, i'm glad this CI caught this too: https://github.com/conda-forge/gdown-feedstock/pull/31


[Breaking][Xcode 13.0 b3]: "error: 'shared' is unavailable in application extensions for iOS:"

[REQUIRED] Step 1: Describe your environment

Xcode version: 13.0 b3
Firebase SDK version: 8.3.1
Installation method: Swift Package Manager
Firebase Component: App Distribution

[REQUIRED] Step 2: Describe the problem
Hello,
When compiling our application, I see an error like:
error: 'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.
            if let windowScene = UIApplication.shared.activeScene {

Note that this was not happening in our app with Xcode 13.0 beta 2, it started happening today when I updated to Xcode 13.0 beta 3). Apple requires the library itself to be annotated like so:
@available(iOSApplicationExtension, unavailable)

See: https://forums.swift.org/t/set-application-extension-api-only-on-a-spm-package/39333/11
This is related to a change in Xcode made by Apple deliberately and for which they provided annotation library authors have to add when declaring methods that would trigger that compilation error.
Thank you in advance for your help :)!
Kind Regards,
Goffredo Marocchi
Notes

I reported the bug on Apple's Feedback Reporter tool (it affects lots of libraries and I have no way to let SwiftPM know we do not have any App Extension targets...): FB9337463
Reported a thread in the dev forums too: https://developer.apple.com/forums/thread/685103

Steps to reproduce:
What happened? How can we make the problem occur?
Download Xcode 13.0 b3, compile a project that imports Firebase iOS SDK (including App Distribution too) using Swift PM (cocoapods works for this library for now).
Relevant Code:
The compilation issue occurs in Firebase's code as the SwiftPM package is imported.

@Panajev Thanks for the report. The issue also shows up in Dynamic Links and In App Messaging.
It seems like the right solution for Swift libraries, is to add the @available(iOSApplicationExtension, unavailable) annotation, but it's not immediately clear what to do for Objective C libraries.

Short short term one would get back to Cocoapods or Carthage for a while, but it is a royal pain. I did file a bug and I hope I can get some more dupes, they really help!
Thank you for being so on point and quick to answer on a weekend :)!
Sent from my iPhone

On 17 Jul 2021, at 15:22, Paul Beusterien @.***> wrote:

@Panajev Thanks for the report. The issue also shows up in Dynamic Links and In App Messaging.
It seems like the right solution for Swift libraries, is to add the @available(iOSApplicationExtension, unavailable) annotation, but it's not immediately clear what to do for Objective C libraries.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Suggested approach at https://forums.swift.org/t/set-application-extension-api-only-on-a-spm-package/39333/21. I'll give it a try in the next few days if no one else beats me to it.

Hi @Panajev We cherry-picked the fix to 8.4.0 so it should be out later this week.  In the meantime you could point to the release-8.4 branch.

Thanks!!!!
Sent from my iPhone

On 19 Jul 2021, at 18:05, Paul Beusterien @.***> wrote:

Hi @Panajev We cherry-picked the fix to 8.4.0 so it should be out later this week. In the meantime you could point to the release-8.4 branch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Criar

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Could you add more information?

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


feat: multiple component authors

Currently, component's author is a single item.
It might appear, that more than one entity is authoring a component. Therefore, I's suggest having component's author a list, rather than a single string.
see also:  https://github.com/CycloneDX/specification/issues/27

during my work on #346//#372 i found this one being related.
will work on it soon


Define SubAction on all frames

PR Checklist
If you are contributing to Javis.jl, please make sure you are able to check off each item on this list:

[x] Did I update CHANGELOG.md with whatever changes/features I added with this PR?
[X] Did I update the TODO.md (if applicable)?

wasn't in Todo

[X] Did I make sure to only change the part of the file where I introduced a new change/feature?
[ ] Did I cover all corner cases to be close to 100% test coverage (if applicable)?
[X] Did I properly add Javis dependencies to the Project.toml + set an upper bound of the dependency (if applicable)?
[X] Did I properly add test dependencies to the test directory (if applicable)?
[ ] Did I check relevant tutorials that may be affected by changes in this PR?
[X] Did I clearly articulate why this PR was made the way it was and how it was made?

Link to relevant issue(s)
Closes #146
How did you address these issues with this PR? What methods did you use?
With this PR it's possible to not define frames for a SubAction -> all frames of the action are used.
Added two constructors for this and changed the input of last_frames for SubAction.

Feel free to test already @TheCedarPrince . I'll add some more test cases next week

Shall I merge @TheCedarPrince ?


Route parameters in Middleware

Using Slim v3, beta 2
I have this simple route/middleware combination:
$app->get('/hello/{name}', function($request, $response, $args) {
    echo 'Middleware test, hello: ';
})->add(function($request, $response, $next) {
    $name = strtoupper($request->getAttribute('name'));
    $name2 = strtoupper($request->getParam(''name));

    $response = $next($request, $response);
    $response->getBody()->write($name);
    $response->getBody()->write($name2);

    return $response;
});

The result I'm getting is: Middleware test, hello:
I have tried a few things, neither getParam or getAttribute seem to work. I'm not sure why I am unable to retrieve the name route parameter from the request.
Can someone point me in the right direction?
Thanks

The route's parameters are not assigned to the request until the route callable is invoked.
This is why it isn't in the request object in your route middleware as the route middleware is executed before the route callable and hence the $request doesn't have them. However, as the system has determined which route to dispatch, the information you need is in the request's routeInfo attribute, so this will work:
$app->get('/hello/{name}', function ($request, $response, $args) {
    $response->write('Middleware test, hello: ');
})->add(function ($request, $response, $next) {

    $routeParams = $request->getAttribute('routeInfo')[2];
    $name = strtoupper($routeParams['name']);

    $response = $next($request, $response);
    $response->write($name);

    return $response;
});


vagrant_setup.py doesn't work with several issues

I've been trying to set this up with a VBox VM on my Windows machine, but have run into several issues with vagrant_setup.py. I'm not familiar with Python but I've managed to identify at least a couple issues:

Line 74: check_cli("VirtualBox", "VBoxManageaa", msg=vb_msg) , it seems to be looking for 'VBoxManageaa' which, doesn't work. VBoxManage itself runs fine from CMD (it has been added to the path).
If I change 'VboxManageaa' to just 'VboxManage' it works, but when listing USB devices, no devices are shown and it asks to select from 0 to -1. Checking the output of 'VBoxManage list usbhost' in CMD shows all the USB devices on the system with no problem. Adding a few Prints to check various values leads me to believe the issue occurs somewhere in 'find_line_items' as it returns nothing for productid, vendorid, manufacturer and product.

Thanks for trying the script out.
For 1): This should be patched now. The extra "aa" was some leftover testing code that should have been removed originally.
For 2): Would you mind posting the output from VBoxManage list usbhost. The script tries to parse output from this command, however, it seems that values can vary a bit more than I originally thought.

 It's currently setup as:
usb_string = usb_string.decode("utf-8").replace("r","")
when it should be:
usb_string = usb_string.decode("utf-8").replace("\r","")
the function never finds any of the product ids/etc. since "Product" would end up as "Poduct"

replace on line 15 is setup incorrectly. It's currently setup as: usb_string = usb_string.decode("utf-8").replace("r","")
when it should be: usb_string = usb_string.decode("utf-8").replace("\r","")
the function never finds any of the product ids/etc. since "Product" would end up as "Poduct"

Had the same issue that no usb devices at all were showing up, while 5 were connected. Adding the backslash also fixed it for me. Now all 5 usb devices, that vboxmanage list usbhost returns, properly show up including the bluetooth adapter.

#38 (which implements the replace fix) has been merged into the master branch, so these issues should hopefully be solved.
I'll leave this issue open for a bit longer in case there were other bugs that haven't been caught yet.

I did notice that the usb filter wasn't working correctly on my side so I adjusted the script a bit further but I'm not sure if it's just my setup

@Inorizushi What sort of issues were you seeing? This might come down to VirtualBox formatting output from the list usbhost differently on Windows/Mac/Linux. The script could be expanded to cover platform-specific differences.

@Brikwerk VirtualBox wouldn't mount my bt dongle at all after boot and unplugging/replugging it in. I adjusted the script to make the usb filter match what Vbox would set if you added the device to the usb filter manually
so instead of device - manufacturer, it would be manufacturer - device and I also removed the line that adds the manufacturer info in the script

Hi, it seems that my bluetooth device lacks a product name when I search for it using list usbhost and vagrant_setup.py isn't able to find it at all. Any suggestions for me? I tried manually editing the Vagrantfile with the info i was able to get from list usbhot but that didnt seem to work


[Blocked] Integrate All OP Components into the System

This issue is tracking which components have been successfully integrated

[x] Replace the L1 component with Anvil.
[x] Replace the L2 component with another instance of Anvil.
[ ] Integrate either the golang op-node or op-erigon for the op-node component.
[ ] Migrate the current engine API proxy into Anvil natively, enabling it via the --engine-api flag.
[ ] Incorporate op-proposer into the environment.
[ ] Integrate op-batcher for batch processing.
[ ] Launch Grafana for enhanced visibility into the devnet operations.

Description
To make this tool maximally maintainable into the future we want to integrate all OP stack components needed for the devnet

Working on branches

This is blocked by #5 #4


Involuntary rotation of character

Hi :-)
My blob character from the 'basic dynamic character' example is experiencing rotational forces when moving sideways.
I've added a camera that stays behind the character and looks in front of it.
The example code only allows applying forces in the X and Z direction, yet the camera turns after while of fumbling around:

    if ground_hits.is_empty() {
      continue;
    }

    // Directional movement
    if keyboard_input.pressed(KeyCode::W) || keyboard_input.pressed(KeyCode::Up) {
      linear_velocity.z -= 1.2;
    }
    if keyboard_input.pressed(KeyCode::S) || keyboard_input.pressed(KeyCode::Down) {
      linear_velocity.z += 1.2;
    }
    if keyboard_input.pressed(KeyCode::A) || keyboard_input.pressed(KeyCode::Left) {
      linear_velocity.x -= 1.2;
    }
    if keyboard_input.pressed(KeyCode::D) || keyboard_input.pressed(KeyCode::Right) {
      linear_velocity.x += 1.2;
    }

    // Jump if space pressed and the player is close enough to the ground
    if keyboard_input.just_pressed(KeyCode::Space) {
      linear_velocity.y += 8.0;
    }

    // Slow player down on the x and y axes
    linear_velocity.x *= 0.8;
    linear_velocity.z *= 0.8;

Is that to be expected? How could I correct for it?

Ooops!
There's been an update by @Jondolf - looks promising.
I'll try that and close this issue if it works with the change.

Yep, that update should fix this. I forgot to lock rotation around the Y axis so friction causes rotation.

I'm also further updating the character controller examples in #212 to be more complete and support both keyboard and gamepad input.

@Jondolf That's suuuuuper cool!
Thank you very much, stranger from the land of myths and metal :wink:

The updates are now merged so I'll close this


docs(deployment) adding marketplace installation

added new tab for Marketplace installs
added Marketplace integrations to TOC

Preview: https://deploy-preview-2214--kongdocs.netlify.app/enterprise/2.1.x/deployment/installation/overview/


Update container-registry-auto-purge.md

Changes for the important block.

Looks good. Thanks @reknai


Fix unittest snapshot file indentation

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist

[x] DCO signed
[x] Chart Version bumped
[ ] helm-docs are updated
[x] Helm chart is tested
[ ] Update artifacthub.io/changes in Chart.yaml
[x] Run make reviewable

@stefanprodan , I have updated the snap files. It seems the updated unittest uses different indentation
> helm unittest --file 'tests/*.yaml' charts/flux2/ -u
> helm unittest --file 'tests/*.yaml' charts/flux2-multi-tenancy/ -u
> helm unittest --file 'tests/*.yaml' charts/flux2-notification/ -u

Also, fixed one test for pre-install-job since isNull and isEmpty has different meaning now.
https://github.com/helm-unittest/helm-unittest/issues/134#issuecomment-1512099216


exclude examples from maven deploy

Though it is good to have as many examples as possible, I doubt it's really useful to have them as artifacts on maven central.
So my idea is to create a maven profile "examples" that is used to validate the current branch but not active when we build releases.
Objections?

Hi @jangalinski ,
I recently moved the examples to https://github.com/camunda/camunda-bpm-examples .
Then the issue is not relevant any more. Right?


Consider removing the pending queue

When there are no pipeline slots available for a job, ArchiveBot currently puts the job in the pending queue and starts the job immediately after a pipeline can serve an additional job.
This behavior is a problem because new jobs often require the attention of someone who will add ignores.  Not all ignores can be predicted in advance, nor are users usually even willing to try.  The current behavior frequently starts a job when the submitter, and perhaps no one else, is paying any attention to the dashboard.
An alternative to the pending queue is to reject an !a if there are no pipelines available to serve it.  This will ensure that whenever a job starts, the submitter is around to add ignores.
If we have no backlog of jobs because there is enough pipeline capacity, everything works the same as before.
But we may have large backlogs of jobs in the future.  To deal with these, we could use https://etherpad.mozilla.org/ to organize a list of sites we want to crawl.  Whenever a pipeline has some capacity, we can !a the first URL on the list and remove it from the etherpad.  Whoever actually starts the job makes the implicit promise of adding some ignores if necessary.  Another advantage of the etherpad: we can rearrange the queue (currently, we can't do this.)

The bot in #archivebot is now patched to reject new jobs if there's anything already in the queue, but this seems like a feature that needs to be configurable for other users of ArchiveBot.

I'm not sure this is still a good idea.  We have lots of capacity and it's somewhat rare for anything to be in the queue, and using an etherpad seems to present an additional failure mode.  It's possible to rearrange queues in Redis, but it hasn't crossed my mind to do so ever.

I've removed the queue check on the #archivebot bot; we'll see how things work out.

I am closing this because #archivebot seems to be happy with #337.


gitlab: 15.4.4 -> 15.6.0

Description of changes
https://about.gitlab.com/releases/2022/11/22/gitlab-15-6-released/
The pinned git version used by gitaly is too old and became unsupported by gitaly. This PR reverts f94d14899d70150abcf2823e243524397b0c1806.
We still need a solution for the vendored attr_encrypted dependency (see https://github.com/NixOS/nixpkgs/pull/197470#issue-1420092301)
Btw: a backport to release-22.05 will require bumping libgit2 to v1.5.0:
error: builder for '/nix/store/29a4qpa7z1ls9qc98x91w04xqamsykqd-gitaly-aux-15.6.0.drv' failed with exit code 1;
       last 10 log lines:
       > github.com/ProtonMail/go-crypto/openpgp/ecdh
       > github.com/ProtonMail/go-crypto/openpgp/ecdsa
       > github.com/ProtonMail/go-crypto/openpgp/eddsa
       > github.com/ProtonMail/go-crypto/openpgp/packet
       > github.com/libgit2/git2go/v34
       > github.com/ProtonMail/go-crypto/openpgp
       > # github.com/libgit2/git2go/v34
       > vendor/github.com/libgit2/git2go/v34/Build_system_static.go:12:3: error: #error "Invalid libgit2 version; this git2go supports libgit2 between v1.5.0 and v1.5.0"
       >    12 | # error "Invalid libgit2 version; this git2go supports libgit2 between v1.5.0 and v1.5.0"
       >       |   ^~~~~
       For full logs, run 'nix log /nix/store/29a4qpa7z1ls9qc98x91w04xqamsykqd-gitaly-aux-15.6.0.drv'.

Closes #197470
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Oh sorry this merge was an accident :(

It's alright, mistakes happen. We should probably revert it then -- I haven't had time to take a look at this, and I'm not sure what state it's in.
@yayayayaka Thoughts?
@onny Any reason why you didn't immediately revert it, or at least open a PR doing so? (Just curious.)

@winterqt I plan to do this tomorroy, I'm a bit in a hurry.
@yayayayaka Thank you for these changes. The update to Gitlab 15.6.0 fixed several issues for my installation, especially a authentication issue which recently appeared is now fixed. This PR is working great on my server :)


DWARF Analyzer does not consider the depth of the stack when computing location of local stack variables

Describe the bug
The DWARF analyzer will place locals at incorrect locations on the stack because it assumes the dwarf location for the local is a ghidra stack offset but such a local may be RSP + an offset with respect to the depth of the stack after the prologue. This assumption can be seen here: https://github.com/NationalSecurityAgency/ghidra/blob/b3616a6831320daf71d299ab988a0bf13e052174/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf4/next/DWARFVariable.java#L149
To Reproduce
Steps to reproduce the behavior:

Open the sample binary test-bin
Run default analyses including the DWARF analysis
Browse to func_1.
l_26 will be placed at positive 0x354

The dwarf record for l_26:
0x000010f5:     DW_TAG_variable
                  DW_AT_location	(DW_OP_breg13 SP+852)

Indicates SP+852 but this record is intended to be interpreted after the prologue depth (-864) so really the stack offset of l_26 should be -12
Expected behavior
The variable l_26 and other locals should be placed at the correct stack location.
Screenshots

Attachments
If applicable, please attach any files that caused problems or log files generated by the software.
Environment (please complete the following information):

OS: macOS 13.3.1
Java Version: 17
Ghidra Version: 10.3-Dev but affected at least since 10.1.5
Ghidra Origin: Built from master

Additional context
We've attempted to fix this issue on our fork in this PR https://github.com/trail-of-forks/ghidra/pull/1 Due to the need to rebase to the latest Ghidra we had to revert these changes (heavy conflicts with the latest rework of DWARF). The general approach was to split the DWARF analyzer into a portion that handles building functions (which runs early) and a later analyzer that can leverage stack analyses to apply the locals. We also used dwarf line programs prologue_end op to find states where the prologue ended to adjust the local accordingly. Unfortunately, we've noticed some of our test binaries do not produce prologue_end opcodes so it's unclear how to figure out how to adjust the depth in these cases reliably.
We are planning on taking another shot at fixing this soon
reprodwarf.zip

@dev747368 I'm not sure if this is 100% correct or not but I found that doing this corrected all my dwarf variables.
public void addStackStorage(long offset, int length) {
	CompilerSpec cspec = program.getGhidraProgram().getCompilerSpec();
	PrototypeModel model = cspec.getDefaultCallingConvention();
	int extraPop = model.getExtrapop();
	if (extraPop != PrototypeModel.UNKNOWN_EXTRAPOP && extraPop != 0) {
		long shift = cspec.stackGrowsNegative() ? -1 : 1;
		offset += shift * extraPop;
	}


Keda Cloudwatch scaler retrieve AWS ALB target group dimension value automatically

Proposal
AWS Cloudwatch scaler has to be provided with a target group dimension value. If you use the AWS ALB controller then ALB and also target group are created by the AWS ALB controller for the services. This means you have to explicitly hard code the value of the target group value. If you are using argoCD then it has to be hard coded or variable.
hardcode
dimensionValue: "targetgroup/k8s-dla2-legacypr-99690e15ee/59179bb1028387a7"
Use-Case
ScaledObject already has deployment information as scaleTargetRef. If we make this dimension value option then it should automatically retrieve the value of targetGroup value based on deployment -> service and AWS ALB controller configuration.
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response

Hello,
I don't get your point (probably because I don't have knowledge about CloudWatch). So, your dimensionValue is "targetgroup/k8s-dla2-legacypr-99690e15ee/59179bb1028387a7" and you need to hardcode it, but you say that the deployment has that info. Is that info provided to the workload as environment variable or similar? How does the deployment know that info?
Currently we don't support reading that parameter from other source than the trigger metadata but it's just because we haven't needed it yet. Could reading the value from an environment variable of the workload solve your issue?


[WIP] Prototype to implement new SQL pipe syntax

What changes were proposed in this pull request?
[WIP] This is a prototype to implement the new SQL pipe syntax proposed by Google:

https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/
https://github.com/google/zetasql/blob/master/docs/pipe-syntax.md

Why are the changes needed?
N/A
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
N/A
Was this patch authored or co-authored using generative AI tooling?
N/A

Closing this PR, the formal implementation based on this prototype will take place here https://issues.apache.org/jira/browse/SPARK-49555


Cannot create unmanaged cluster

Bug Report
After updated to release v0.10.
1, Unmanaged Cluster cannot create
Expected Behavior
Create Unmanaged Cluster

Steps to Reproduce the Bug
run tanzu um create maxmc

Screenshots or additional information and context

Creating cluster maxmc
   Base image downloaded
   Creating cluster..             failed to create
cluster, Error: failed to init node with kubeadm: command "docker exec --privileged maxmc-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1

Environment Details

Build version (tanzu version): v0.10.1
Deployment (Managed/Standalone cluster): Unmanaged Cluster
Infrastructure Provider (Docker/AWS/Azure/vSphere): Docker
Operating System (client):Rocky Linux

Diagnostics and log bundle

Thanks for reporting this Tony. Not a lot of details here, so we'll have to do a little digging to see what actually happened.
I have not tested on Rocky Linux, but that should be fine. Can you capture the output of docker info and attach that so we can see what the current settings are for the docker engine?
Another thing we can check is if kind itself can create a cluster. If you can install kind and try a kind cluster create, if that doesn't work it can at least help narrow things down for us.
I think the failed deployment will still have a node running. You can run docker ps to see if the container is still running. You could then docker exec -it [container_id] bash to get in the running node, then check if there are errors in the logs.
Hopefully one of those will give us some breadcrumbs to find what's going on.

Hi @TONY-All - checking in on this again! 👀
Anything else we can help with here? Any luck getting an unmanaged-cluster up?

Hi @TONY-All - final checkup. Anyway we can assist you getting started? Otherwise, will close this issue.


Running nginx and docker-gen separately not working since network compatibility change

The new nginx.tmpl analyses the jwilder/nginx-proxy container's networks and sets upstream entries for VIRTUAL_HOSTs, if and only if they share the same network (that's fine and nice, otherwise they would not be accessible by nginx-proxy):
upstream {{ $host }} {
{{ range $container := $containers }}
        {{ $addrLen := len $container.Addresses }}

        {{ range $knownNetwork := $CurrentContainer.Networks }}
                {{ range $containerNetwork := $container.Networks }}
                        {{ if eq $knownNetwork.Name $containerNetwork.Name }}
                               [...] YES, we are able to pass requests to this VIRTUAL_HOST
                        {{ end }}
                {{ end }}
        {{ end }}
{{ end }}

Now the problem we have, when running docker-gen and nginx separately, is, that the docker-gen is not part of the list of running containers ($CurrentContainer is null since the docker-gen container is not listed in the Context []*RuntimeContainer):
docker-compose.yml
version: '2'
services:
  proxy-gen:
    image: jwilder/docker-gen
    container_name: proxy-gen
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./volumes/templates:/etc/docker-gen/templates:ro
      - ./volumes/log:/etc/docker-gen/log:rw
    command: -watch -only-exposed /etc/docker-gen/templates/debug.tmpl /etc/docker-gen/log/debug.log

debug.tmpl
{{ range $runtimeContainer := $ }}
    ID: {{ $runtimeContainer.ID }}
{{ end }}

{{ $CurrentContainer := where $ "ID" .Docker.CurrentContainerID | first }}

.Docker.CurrentContainerID: {{ .Docker.CurrentContainerID }}
CurrentContainer: {{ $CurrentContainer.Name }}

Example output:
proxy-gen    |  ID: 66d8cb1183a3d31cd62feb24fd26945e253c39839c6f4e6da8ca3356c0ea1538
proxy-gen    |  ID: 199b4a1d6f333218b0e8ee7135c0777b3d97e4c883461107ccc1e98671ae6c2e
proxy-gen    | .Docker.CurrentContainerID: 650033b370904f7f827a64b7331a8471e47194481e2ba73f674508a42722980e

.Docker.CurrentContainerID is not part of the list of all containers running (probably since it is still in the process of starting?). Consequently docker-gen will never find a common network with the VIRTUAL_HOST.
So even if we would connect the docker-gen container itself to our proxy network, our VIRTUAL_HOSTs would not show up as an upstream in the nginx.conf.
Sorry for the primitive way of testing this through the debug.tmpl but I have no clue about Golang yet :) I think it would be important to either update the docs accordingly or implement a change. I could do that, but my ideas are really limited right now. The proxy-network needs to be defined somehow instead of taking the intersection of the proxy/docker-gen container and the VIRTUAL_HOST. I thought about a VIRTUAL_NET env variable on the VIRTUAL_HOST but then we can still not guarantee that the according VIRTUAL_HOST is accessible from the proxy? Another way could be to tell the docker-gen container which container the actual proxy is?
Feedback and ideas welcome.

Hi, have a look at #438 (comments are a bit of a mess because of many different issues) but could you see if this is the -only-exposed issue? also i think @AHelper can shed some light on this, they have messed around with a template loop similar to yours.

Yeah, since docker-gen has no ports exposed, it will not be included in the list of containers.  I'm thinking that docker-gen should either always include itself in the list of containers available or to actually add the current container info to the .Docker struct, not just the ID.

Should be fixes via #480

I'm having this problem and I only set it up today... But I could be doing something wrong.
Can anyone else confirm if this is fixed or still broken?

@NoahO can you provide versions of nginx-proxy, docker, docker-compose etc and also how and with what arguments you start stuff?

Thanks, I've added
networks:
- proxy-tier
to my nginx-gen, and rebuilt. Still the same problem though :(

@NoahO and remove -only-exposed for nginx-gen

Thanks, now I have removed -only-exposed it is showing up in upstream in my nginx config. It still doesn't work, but that's probably something else unrelated to this issue so I'll troubleshoot separately.
If I had to remove -only-exposed to get this to show up, does this mean this issue is still open?

@NoahO -only-exposed was removed from the README some time ago... but yeah maybe there should be some kind of known breaking changes list

ah.. I was basing my example on https://github.com/fatk/docker-letsencrypt-nginx-proxy-companion-examples/blob/master/docker-compose/v2/simple-site/docker-compose.yml which still has the -only-exposed.

@NoahO I've reached the same state as you. Upsteam is correctly defined in the conf again, but its still not working.. any updates wrt the letsencrypt companion example?

is there a way to prevent empty upstream sections to appear in the nginx default.conf ?
looks like this breaks the config and prevent the nginx container from starting properly

looks like as soon as some container with VIRTUAL_HOST isnt on the same network, it breaks the nginx config and container ?


Run tool on demand, not scheduled

Hi Max,
Loving the tool! Is there a plan for the tool to not require a CRON expression to run?
I'm using it in my CI setup, so I just put * * * * * there and it complains every minute, but it runs.
However, after it's done, the CI pipeline keeps running as the next run is automatically scheduled in another minute.
Would be great to have a option to simply run it immediately.
If it's already available, I must've missed it in the docs, so please point me to a correct section.
Thank you!

I just noticed the --disable-schedule arg 🤦♂
The required schedule field in YAML through me for the loop, still.
All good then! 😁 Leaving this here for other blind people like me.


Update macOS browser repository ID in asana-release.yml

Reviewer:
Asana: https://app.asana.com/0/0/1204026442281641/f
Description
Update workflow file to use the new URL of macos-browser repo.
Steps to test

@GioSensation we’ve migrated macOS repository so posting this to update the reference in your workflow. The old URL will keep redirecting, but better have it updated. Thanks!


Error code -9806 connection closed via error

Not sure what the cause of this error is, but it just bombed out...
May 24 00:27:28.447 DEBG starting new connection: https://api.locastnet.org/
May 24 00:27:29.204 DEBG response '200 OK' for https://api.locastnet.org/api/watch/epg/510?startTime=2021-05-24T00:00:00-00:00&hours=208
May 24 00:27:34.656 INFO Loading stations for Cleveland (cache: true, cache timeout: 3600, days: 30)..
May 24 01:16:35.953 INFO Reloading FCC facilities..
May 24 01:16:35.953 DEBG starting new connection: https://api.locastnet.org/
May 24 01:17:55.508 DEBG response '200 OK' for https://api.locastnet.org/api/dma
May 24 01:17:55.508 INFO Using cached FCC facilities at /Users/mediamacmini/.locast2tuner/facilities
May 24 01:27:34.791 INFO Login token expired: Mutex { is_locked: true, has_waiters: false }
May 24 01:27:34.791 INFO Logging in with<EMAIL_ADDRESS>May 24 01:27:34.791 DEBG starting new connection: https://api.locastnet.org/
May 24 01:27:35.314 DEBG response '200 OK' for https://api.locastnet.org/api/user/login
May 24 01:27:35.314 INFO Login succeeded!
May 24 01:27:35.314 DEBG starting new connection: https://api.locastnet.org/
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Request, url: Url { scheme: "https", username: "", password: None, host: Some(Domain("api.locastnet.org")), port: None, path: "/api/watch/epg/510", query: Some("startTime=2021-05-24T00:00:00-00:00&hours=208"), fragment: None }, source: hyper::Error(Connect, Error { code: -9806, message: "connection closed via error" }) }', src/utils.rs:44:46
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Abort trap: 6

This looks like another transient error that shouldn't break locast2dvr. I'd be curious to see where exactly this happened (i.e. the backtrace). Can you reproduce the error?

I think this happened once or twice before, but I can't repro this.
If I turn logging to max, will that do the job if it fails again?
In the meantime, I am running Docker container in parallel as a backup to Plex (and Plex just announced today that they support multiple zip codes & EPGs when you have multiple tuners).

Great! any extra logging will help. I want to see what actual call resulted in the issue.

 I pushed a change and 0.1.41 is now building. Should be there soon. @sumocomputers would you mind testing that version?

I will get it installed, keep trace logging on, and report if I see any issues.

I had this running for a few days, and never saw the issue come back. I think it should be OK to close it now.

@sumocomputers great! Thanks for checking back in!


Problem on set different dispatchers

Hi,
i had several issues try to use different dispatchers. If i setup a dispatcher for a test and after the tearDown() i try to re-set a local one, the following mock response will be fetched always from the previous dispatcher. Maybe there is something i miss. You can check the code i'm using here
I had to divide some normal espresso tests using the LocalDispatcher (you can find it in my code) from tests in which i need to setup a MockResponse inside the testAndroid package.

You’ll likely have a lot more success using a new instance of MockWebServer for every test.

@swankjesse it make no sense for me to create a new instance for every test. MockWebServer is injected extending my api module, and i think it should work also in these manner...

Got it. Can you isolate this into a test case for MockWebServer? As-is I know there are some places where MockWebServer makes assumptions about its dispatcher not changing, but I’m surprised that it’s impacting you.


The CreatePool fucnt has targetDedicated of type int? (int of nullable type)

Currently this is passed as strinng i.e. like this: targetDeicated = "1" this should actually be targetDedicated = 1.
Reason:
CreatePool all the overrides take targetDedicated of int type.
Making the sample uptodate so that it works for anyone copy pasting.
here is the API CreatePool reference : https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.batch.pooloperations.createpool?view=azurebatch-6.1.0
Thanks,
^Tats

@Tatsinnit,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Thanks, @Tatsinnit ! Looks good.
#sign-off

@Tatsinnit : Thanks for your contribution to the Azure documentation! The author, @tamram, has been notified to review your proposed change.


[Bug] Unique test errors when testing an expression on BigQuery

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When attempting to run a unique test using an expression concatenating two columns in BigQuery as described here, I get an unexpected error.
Database Error in test {name}
  SELECT list expression references column {first_column_name} which is neither grouped nor aggregated at [12:6]

I get the same error when running the compiled SQL directly in BigQuery, and I am able to get the query to run as expected three ways:

Using a group by 1 statement
Removing the unique_field alias, OR
grouping by the unique_field alias (instead of the expression)

Expected Behavior
The test should run (and pass in this case.)
Steps To Reproduce

Create a unique test using an expression with two columns in BigQuery as described here, and run.

Test Snippet
version: 2

models:
    - name: customer_ltv_by_week
      tests:
        - unique:
            column_name: "(customer_id || '-' || week)"

Compiled SQL:
select
    (customer_id || '-' || week) as unique_field,
    count(*) as n_records

from `aec-2021-10-thursdays`.`dbt_tracyu`.`customer_ltv_by_week`
where (customer_id || '-' || week) is not null
group by (customer_id || '-' || week)
having count(*) > 1

Error:
Completed with 1 error and 0 warnings:

Database Error in test unique_customer_ltv_by_week__customer_id_week_ (models/marts/schema.yml)
  SELECT list expression references column customer_id which is neither grouped nor aggregated at [12:6]

Relevant log output
No response
Environment
- OS: Ubuntu 20.04
- Python: 3.8.10
- dbt: 0.21.0

What database are you using dbt with?
bigquery
Additional Context
No response

@tracy-u Thank you for the detailed report! You're spot on with your assessment. In fact, we raised the same issue in https://github.com/dbt-labs/dbt-bigquery/issues/35, and we've already merged a fix via https://github.com/dbt-labs/dbt-bigquery/pull/10.
The issue is, unlike the majority of other databases, BigQuery does not support grouping by a column expression if that column expression is also aliased. At the same time, many databases do not have support for group by 1. We decided that the right approach here was to reimplement the unique test query for BigQuery, via a bigquery__test_unique macro in the adapter plugin. That fix is now available in v1 prereleases (v1.0.0-rc1 most recently).
You can fix this in the meantime (while using v0.21) by copying the BigQuery-specific SQL into a macro in your own project:
{% macro test_unique(model, column_name) %}

 with dbt_test__target as (

   select {{ column_name }} as unique_field
   from {{ model }}
   where {{ column_name }} is not null

 )

 select
     unique_field,
     count(*) as n_records

 from dbt_test__target
 group by unique_field
 having count(*) > 1

 {% endmacro %}

Ah, thanks for the update, @jtcohen6, and apologies I didn't find that issue in my search!

ah @jtcohen6 , I helped Tracy search and totally forgot that the repos have been split up! Maybe a hint on the issue template to search other repos would be useful? 🙏

@clrcrl Totally. We tried something in that vein, with these prompts when someone clicks the button to create a new issue (https://github.com/dbt-labs/dbt-core/issues/new/choose):


LLVM assertion failure - invoking a function with a bad signature

I ran into this while working on the pony compiler in pony.
I'm still working on figuring out what's going on, but I'll post what I have so far to this issue ticket, and others can feel free to jump in with ideas as I go.
The snippet in question looks like this:
primitive PostParse is FrameVisitor[PostParse]
  fun apply[A: AST val](frame: Frame[PostParse], ast: A) =>
    // ...

    iftype A <: Method then
      match ast.body() | let body: Sequence =>
        try
          frame.err(ast.docs() as LitString,
            "A method with a body cannot have a docstring in the signature.")
        else
          // If the method body has more than one expression and the first
          // expression is a string literal, we treat it as a docstring;
          // we set it as the docs of the method and remove it from the body.
          if body.list().size() > 1 then
            try let docs = body.list()(0) as LitString
              frame.replace(ast
                .with_docs(docs)
                .with_body(body.with_list(body.list().delete(0))))
            end
          end
        end
      end

    // ...
    end

The assert failure looks like this:
ponyc: /home/jemc/1/code/tarx/llvm-3.9.0.src.rel/lib/IR/Instructions.cpp:655: void llvm::InvokeInst::init(llvm::FunctionType *, llvm::Value *, llvm::BasicBlock *, llvm::BasicBlock *, ArrayRef<llvm::Value *>, ArrayRef<OperandBundleDef>, const llvm::Twine &): Assertion `(i >= FTy->getNumParams() || FTy->getParamType(i) == Args[i]->getType()) && "Invoking a function with a bad signature!"' failed.

Some basic LLVM printing of relevant values:
frame #9: 0x00000000007276cf ponyc`invoke_fun(c=0x00007ffcf4616cd8, fun=0x000000000a061d58, args=0x00007fb356d6da20, count=2, ret=0x0000000001acae3e, setcc=true) + 191 at gencall.c:31
   28  	  LLVMMoveBasicBlockAfter(then_block, this_block);
   29  	  LLVMBasicBlockRef else_block = c->frame->invoke_target;
   30
-> 31  	  LLVMValueRef invoke = LLVMBuildInvoke(c->builder, fun, args, count,
   32  	    then_block, else_block, ret);
   33
   34  	  if(setcc)
(lldb) p (void*)LLVMDumpValue(fun)
  %69 = bitcast i8* %68 to %__object* (%__object*, %__object*)*
(void *) $5 = 0x0000000002c60888
(lldb) p count
(int) $6 = 2
(lldb) p (void*)LLVMDumpValue(args[0])
  %63 = call fastcc %ast_MethodBe* @ast_MethodBe_val_with_docs_oo(%ast_MethodBe* %ast, %__object* %62), !dbg !155
(void *) $7 = 0x0000000002c60888
(lldb) p (void*)LLVMDumpValue(args[1])
  %70 = bitcast %ast_Sequence* %60 to %__object*
(void *) $8 = 0x0000000002c60888

It looks like maybe the first arg is missing a bitcast from %ast_MethodBe* to %__object*?

The AST in question:
frame #10: 0x0000000000726a53 ponyc`gen_call(c=0x00007ffcf4616cd8, ast=0x00007fb3c1cafc00) + 3187 at gencall.c:803
   800 	      codegen_debugloc(c, ast);
   801
   802 	      if(ast_canerror(ast) && (c->frame->invoke_target != NULL))
-> 803 	        r = invoke_fun(c, func, args + arg_offset, i, "", !bare);
   804 	      else
   805 	        r = codegen_call(c, func, args + arg_offset, i, !bare);
   806
(lldb) p ast_print(ast)
(call
  (positionalargs
    (seq
      (call
        (positionalargs
          (seq
            (call
              (positionalargs
                (seq
                  (0 [nominal (id $0) (id USize) x val x x])
                  [nominal (id $0) (id USize) x val x x]
                )
              )
              x
              (funref
                (call
                  x
                  x
                  (funref
                    (letref
                      (id body)
                      [nominal (id $5) (id Sequence) x val x x]
                    )
                    (id list)
                    [funtype
                      val
                      x
                      x
                      (nominal
                        (id $6)
                        (id Vec)
                        (typeargs (nominal (id $5) (id Expr) x val x x))
                        val
                        x
                        (id coll)
                      )
                    ]
                  )
                  [nominal
                    (id $6)
                    (id Vec)
                    (typeargs (nominal (id $5) (id Expr) x val x x))
                    val
                    x
                    (id coll)
                  ]
                )
                (id delete)
                [funtype
                  val
                  x
                  (params
                    (param (id i) (nominal (id $0) (id USize) x val x x) x)
                  )
                  (nominal
                    (id $6)
                    (id Vec)
                    (typeargs (nominal (id $5) (id Expr) x val x x))
                    val
                    x
                    x
                  )
                ]
              )
              [nominal
                (id $6)
                (id Vec)
                (typeargs (nominal (id $5) (id Expr) x val x x))
                val
                x
                x
              ]
            )
            [nominal
              (id $6)
              (id Vec)
              (typeargs (nominal (id $5) (id Expr) x val x x))
              val
              x
              x
            ]
          )
        )
        x
        (funref
          (letref (id body) [nominal (id $5) (id Sequence) x val x x])
          (id with_list)
          [funtype
            val
            x
            (params
              (param
                (id list')
                (nominal
                  (id $6)
                  (id Vec)
                  (typeargs (nominal (id $5) (id Expr) x val x x))
                  val
                  x
                  (id coll)
                )
                x
              )
            )
            (nominal (id $5) (id Sequence) x val x x)
          ]
        )
        [nominal (id $5) (id Sequence) x val x x]
      )
      [nominal (id $5) (id Sequence) x val x x]
    )
  )
  x
  (funref
    (call
      (positionalargs
        (seq
          (letref (id docs) [nominal (id $5) (id LitString) x val x x])
          [nominal (id $5) (id LitString) x val x x]
        )
      )
      x
      (funref
        (paramref (id ast) [nominal (id $5) (id MethodBe) x val x x])
        (id with_docs)
        [funtype
          val
          x
          (params
            (param
              (id docs')
              (uniontype
                (nominal (id $5) (id LitString) x val x x)
                (nominal (id $0) (id None) x val x x)
              )
              x
            )
          )
          (nominal (id $5) (id Method) x val x x)
        ]
      )
      [nominal (id $5) (id Method) x val x x]
    )
    (id with_body)
    [funtype
      val
      x
      (params
        (param
          (id body')
          (uniontype
            (nominal (id $5) (id Sequence) x val x x)
            (nominal (id $0) (id None) x val x x)
          )
          x
        )
      )
      (nominal (id $5) (id Method) x val x x)
    ]
  )
  [nominal (id $5) (id Method) x val x x]
)

I am also experiencing this with llvm 3.9.1

@Theodus - any chance that you're able to get a more minimal repro?

@jemc do you have minimal code for this? the example won't compile.

I suggest closing for now. I can reopen later if I'm able to reproduce.


Error in notebook cell Attachment code causes failures in Jupyter CI tests

https://github.com/microsoft/vscode-jupyter/actions/runs/3446206002/jobs/5750829405
  1) Install IPyKernel (install) @kernelInstall
       Ensure ipykernel install prompt is displayed every time you try to run a cell in an Interactive Window and you can switch kernels:

      Error: Illegal argument: start must be positive
      + expected - actual

Marking verified since I don't see this failure in the latest scheduled run https://github.com/microsoft/vscode-jupyter/actions/runs/3591047065


[Feature request] Vue 2 compact with vue-demi

This is a very cool package but I think Vue 2 compact support is one of the big reasons to use it for some legacy projects which are slowly being migrated to Vue 2.7 or Vue 3
I see this part in the package.json and no Vue 2.x support, would we ever consider doing this?
All the import use: import ... from 'vue', i think vue-demi would be great for this instead, what do you think?
...
    "vue": "^3.2.41",
    "vue-tsc": "^1.0.8"
  },
  "peerDependencies": {
    "vue": "^3.2"
  },
...

I'll consider this, but worry it might be quite a hassle to implement on the Typescript side.
Concerning a migration though, my Thought process was that a migration from mixins to composables was something I would do step by step after I moved to Vue 3. But sure, there might be scenarios where one might want to do this before the actual migration


[Wait for #2658][Layer] Add missing activation type

Some activation types were missing from EnumList.
Added missing types to EnumList.
Changed the order of ActivationType and EnumList to be the same.
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: SeoHyungjun<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2665. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

#2658 is already merged. rebase this.

FYI) #2658 is for another branch tanh_gelu

#2658 is already merged. rebase this.

I have completed the rebase.

FYI) #2658 is from another branch tanh_gelu on upstream.

Yes, that's right.
#2658 has been merged into the main so there is no problem.


Addition of links to custom SMASH servers

Each SMASH server is dedicated to listing only the noted pool alliance members.

approved, thanks for your contribution


Add your library to Valibot's ecosystem

Feel free to add your library to our ecosystem: https://valibot.dev/guides/ecosystem/

@fabian-hiller Thank you. I have sent PR!!
I want to say thank you to you too @MH4GF


Stop previous remote cluster when updating secret

Please provide a description of this PR:
Fix: #39366
The root cause is that we never stop the previous remote cluster when updating the secret.
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
de9d1d9630e9da31201aeda04c6baf0ebd211010
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

In response to a cherrypick label: new issue created for failed cherrypick: #39387

In response to a cherrypick label: new issue created for failed cherrypick: #39388

In response to a cherrypick label: #39367 failed to apply on top of branch "release-1.13":
Applying: Cleanup previous remote cluster when updating secret
Using index info to reconstruct a base tree...
M	pkg/kube/multicluster/secretcontroller.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/kube/multicluster/secretcontroller.go
CONFLICT (content): Merge conflict in pkg/kube/multicluster/secretcontroller.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Cleanup previous remote cluster when updating secret
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: #39367 failed to apply on top of branch "release-1.14":
Applying: Cleanup previous remote cluster when updating secret
Using index info to reconstruct a base tree...
M	pkg/kube/multicluster/secretcontroller.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/kube/multicluster/secretcontroller.go
CONFLICT (content): Merge conflict in pkg/kube/multicluster/secretcontroller.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Cleanup previous remote cluster when updating secret
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #39393

In response to a cherrypick label: #39367 failed to apply on top of branch "release-1.13":
Applying: Cleanup previous remote cluster when updating secret
Using index info to reconstruct a base tree...
M	pkg/kube/multicluster/secretcontroller.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/kube/multicluster/secretcontroller.go
CONFLICT (content): Merge conflict in pkg/kube/multicluster/secretcontroller.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Cleanup previous remote cluster when updating secret
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


cryptosign: reading private ssh key is broken

Using this example but replacing a call to cryptosign.SigningKey.from_raw_key with cryptosign.SigningKey.from_ssh_key (as I had my private ssh key as a text file) fails, as there is an apparent bug out there, I narrowed it down to a simple test case below.
>>> from autobahn.wamp.cryptosign import SigningKey
>>> SigningKey.from_ssh_key('/home/om26er/.ssh/id_ed25519')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/autobahn/wamp/cryptosign.py", line 561, in from_ssh_key
    keydata, comment = _read_ssh_ed25519_privkey(keydata)
  File "/usr/local/lib/python3.5/dist-packages/autobahn/wamp/cryptosign.py", line 244, in _read_ssh_ed25519_privkey
    raise Exception('invalid OpenSSH private key (padlen={}, actual_pad={}, expected_pad={})'.format(len(pad), pad, _makepad(len(pad))))
Exception: invalid OpenSSH private key (padlen=7, actual_pad=b'\x01\x02\x03\x04\x05\x06\x07', expected_pad=)

The hack was to comment out this condition. I believe we are making some assumptions there that may not be always correct.

@oberstet Do you think removing that code would be a solution for this ?

certainly not. just leave it for now

How was the key created? (FWIW, the loading code seems to work fine as-is on a random ed25519 key I just tried on Debian).

How was the key created? (FWIW, the loading code seems to work fine as-is on a random ed25519 key I just tried on Debian).

I only ran ssh-keygen -t ed25519 -- Gave it another try, same issue.

@om26er are you using SSH agent, or are you directly reading the private key (which, when passphrase protected won't work)

@om26er are you using SSH agent, or are you directly reading the private key (which, when passphrase protected won't work)?

I am directly reading a private key that is not passphrase protected.

ok, this was working (with Twisted at least) for me in the past ..

The autobahn.wamp.cryptosign._makepad function doesn't work properly in Python 3.
_makepad(6) returns '\x01\x02\x03\x04\x05\x06' (a str) rather than b'\x01\x02\x03\x04\x05\x06' (bytes). The str/bytes type difference causes the pad != _makepad(len(pad)) the statement to fail.
My workaround is to monkey patch it:
import autobahn.wamp.cryptosign
def _makepad_py3(size):
    return bytes(range(1, size + 1))
autobahn.wamp.cryptosign._makepad = _makepad_py3

This solution unfortunately does not work in Python2. To make it compatible with both, you'd need to do something like this:
def _makepad_py23(size):
    ''.join([chr(x) for x in range(1, size + 1)]).encode('ascii')

(I would hope there is a cleaner-looking solution, but that seems to work.)

fixed via https://github.com/crossbario/autobahn-python/pull/1543
test:
(cpy39_1) (base) oberstet@intel-nuci7:~/scm/crossbario/autobahn-python$ ssh-keygen -t ed25519 -f /tmp/id_ed25519
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/id_ed25519
Your public key has been saved in /tmp/id_ed25519.pub
The key fingerprint is:
SHA256:6ce5TX9KqKZAtEVk31ktodyrfbG0OPM8iZHtLh1ox7w oberstet@intel-nuci7
The key's randomart image is:
+--[ED25519 256]--+
|       .+     oo |
|       o . o =. .|
|      . . . = .. |
|     . o .     . |
|      o S     Bo |
|     . . . . Oo*+|
|      . . + =+Oo=|
|       . ..= ==E.|
|        .oo . =*.|
+----[SHA256]-----+
(cpy39_1) (base) oberstet@intel-nuci7:~/scm/crossbario/autobahn-python$ python -c "from autobahn.wamp.cryptosign import SigningKey; SigningKey.from_ssh_key('/tmp/id_ed25519')"
(cpy39_1) (base) oberstet@intel-nuci7:~/scm/crossbario/autobahn-python$ make test_cryptosign
USE_ASYNCIO=1 trial autobahn.wamp.test.test_wamp_cryptosign
autobahn.wamp.test.test_wamp_cryptosign
  TestAuth
    test_authenticator ...                                                 [OK]
    test_testvectors ...                                                   [OK]
    test_valid ...                                                         [OK]
  TestKey
    test_key ...                                                           [OK]
    test_pad ...                                                           [OK]
    test_pubkey ...                                                        [OK]

-------------------------------------------------------------------------------
Ran 6 tests in 0.087s

PASSED (successes=6)
USE_TWISTED=1 trial autobahn.wamp.test.test_wamp_cryptosign
autobahn.wamp.test.test_wamp_cryptosign
  TestAuth
    test_authenticator ...                                                 [OK]
    test_testvectors ...                                                   [OK]
    test_valid ...                                                         [OK]
  TestKey
    test_key ...                                                           [OK]
    test_pad ...                                                           [OK]
    test_pubkey ...                                                        [OK]

-------------------------------------------------------------------------------
Ran 6 tests in 0.089s

PASSED (successes=6)
(cpy39_1) (base) oberstet@intel-nuci7:~/scm/crossbario/autobahn-python$


Split in two packages

Separated uyuniadm and uyunictl in their own packages since those should be installed on different machines.
Before merging this, a sumaform PR will be required to install the two packages instead of the the old uyuni-tools.

@deneb-alpha would this help shipping the uyuni-tools in the proper channels?

@deneb-alpha would this help shipping the uyuni-tools in the proper channels?

having one source or two doesn't change a lot from a rel-eng POV. the work to be done is almost the same in terms of channels and product definition changes.
But from end-user POV having the 2 subpackages I think it's better and will require to install only what is really needed for them.

@deneb-alpha would this help shipping the uyuni-tools in the proper channels?

having one source or two doesn't change a lot from a rel-eng POV. the work to be done is almost the same in terms of channels and product definition changes.

Yes, but would that make it easier to get uyunictl in the client tools or another similar project building for many distros? Uyuniadm could then be shipped in a different place (to be figured out which, even for Uyuni)

Since uyuni-tools were not released yet, we don't need anything wrt. to provides-obsoletes combo, right?


WFLY-15963 Combine ORDINALS and ORDINAL_TO_WEEK_NUMBER_MAPPING fields…

… in ejb3 DayOfMonth class
cleanup (improve the use of toLowerCase and equalsIgnoreCase; remove unnecessary null check)
https://issues.redhat.com/browse/WFLY-15963
some notes about changes of code cleanup:

the regex Pattern "\\s+" is moved to the class-level to avoid compiling the pattern for every invocation of the method.
isDayOfWeekBased method is renamed to splitDayOfWeekBased and the return type is changed from boolean to String[]. This method splits the input string to do the checking, and the caller of this method also needs to split the data. To avoid splitting it twice, this method is changed to return the split result: a non-null value is equivalent to previous true return value; a null is equivalent to the previous false return value.

@tadamski please review.


Add support for exclude tables data in the command interface

Type of PR enhancement
Description
Added support for excluding tables data from backingup.
Why should this be added
Sometimes we have some tables in the database that are generated automatically and we don't want to backup the data of these tables if the process take a lot of time, instead we'll generate them again automatically.
Explain value.
We gain time when migrating big databases by excluding unneeded tables data.
Fixes #374
Checklist

[ok] Tests are passing
[ok] Documentation has been added or amended for this feature / update

Thanks for this!


Update Plugin Artifacts Links for v0.147.7

Automated changes by create-pull-request GitHub action

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add small note to use rbenv global after rbenv install

Installing Ruby from scratch and I just spent way too long figuring out that you have to rbenv global [version] after install. It was only because I remembered from a few months ago when I last installed from scratch that I didn't pull my hair out and give up :/

+1 to tell users to set a version globally.


Add existing Atlas account instructions

Replicating what we have in the intro lab:
https://mongodb-developer.github.io/intro-lab/docs/mongodb-atlas/create-account

Merging this but going to add the the images in a follow-up PR.


Controller Script Help

Hi guys, could you please help me with this test patch.
I have made a Controller Script in Unity to modify Frequency(FQ) and Wavetoogle(WT) on the PD/Heavy patch. The general Audio is fine, the heavy patch works great in play mode.
I think  the Controller Script is wrong. In play mode the keys A and S do change the FQ and WT on the patch(on game object), but the sound does not change.  Not sure why.
I am also getting some errors  in the console (SendBangToReceiver..) but I have difficulties to identify the correct parameter in the Heavy/Patch  script  (not sure if parameter is the right word), so i can replace the SendBangToReceive.
I have attached the unity project below. please let me know if you could help to work it out. thank you.
https://www.dropbox.com/s/sifbkqa6iidu6zz/Procedural Audio.zip?dl=0

Can you paste your controller script code here?
Are you using @hv_event for bangs into the patch?

using UnityEngine;
using System.Collections;
public class ControlScript : MonoBehaviour {
public Hv_OSC_Unity_AudioLib HeavyScript;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

	if (Input.GetKeyDown ("space"))

	{
		HeavyScript.SendBangToReceiver ("onOff");
		//print ("space pressed");
	}

	else if (Input.GetKeyDown ("q"))

	{
		HeavyScript.SendBangToReceiver ("waveToggle");
		//print ("space pressed");

	}

	else if (Input.GetKey ("a"))

	{
		HeavyScript.freq -= 2;
		//print ("space pressed");
	}

	else if (Input.GetKey ("s"))

	{
		HeavyScript.freq += 2;
		//print ("space pressed");
	}

	else
		{
		return;
		}
	}

}

I’m pretty sure you can’t send remote messages like this from Unity?
Also when addressing a remote parameter in Hv you need to use the following syntax :
for bangs
pd.SendEvent(Hv_script_AudioLib.Event.BangLabel);
for floats
pd.SetFloatParameter(Hv_script_AudioLib.Parameter.ParamLabel, var);

On 31 May 2017, at 18:03, fr4nky8oy<EMAIL_ADDRESS>wrote:
Hi guys, could you please help me with this test patch.
I have made a Controller Script in Unity to modify Frequency(FQ) and Wavetoogle(WT) on the PD/Heavy patch. The general Audio is fine, the heavy patch works great in play mode.
I think the Controller Script that is wrong, for example in play mode the letter A and S change the FQ and WT on the patch(on game object) but the sound does not change. Not sure why.
I am also getting some errors in the console (SendBangToReceiver..) but I have difficulties to identify the correct parameter in the Heavy/Patch script (not sure if parameter is the right word), so i can replace the SendBangToReceive. I have attached the unity project below. please let me know if you could help to work it out. thank you.
https://www.dropbox.com/s/sifbkqa6iidu6zz/Procedural Audio.zip?dl=0 https://www.dropbox.com/s/sifbkqa6iidu6zz/Procedural Audio.zip?dl=0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/enzienaudio/heavy/issues/210, or mute the thread https://github.com/notifications/unsubscribe-auth/AT-_1ZdaY9KroZgLtocO8SQ1zdbiGm9Dks5r_Z1XgaJpZM4Nr67T.

@dbaxaudio i followed this https://www.youtube.com/watch?v=NvoPwlZt8_A&t=77s

@dbaxaudio 's example is correct, @fr4nky8oy that video you linked is quite old now.
Check the documentation https://enzienaudio.com/docs/index.html#06.unity#exposing-and-sending-events
Also there's example code in the AudioLib.cs script itself if you have a peek in there.

Also don't use the public float values to update the patch (I need to remove those!).
You should use SetFloatParameter instead, see here: https://enzienaudio.com/docs/index.html#06.unity#exposing-and-setting-parameters

thanks Joe, I checked  all  examples already, but i dont understand how to implement them in my code controller code :( , do you think you could copy/paste an example here pls?

This works. Be sure to use a capital on any parameter names you have chosen
else if (Input.GetKey ("a"))
    {

        HeavyScript.SetFloatParameter(Hv_OSC_Unity_AudioLib.Parameter.Freq, 320.0f);
        //print ("space pressed");
    }

    else if (Input.GetKey ("s"))

    {
        HeavyScript.SetFloatParameter(Hv_OSC_Unity_AudioLib.Parameter.Freq, 340.0f);
        //print ("space pressed");
    }

On 31 May 2017, at 18:26, fr4nky8oy<EMAIL_ADDRESS>wrote:
thanks Joe, I checked all examples already, but i dont understand how to implement them in my code controller code :( , do you think you could copy/paste an example here pls?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/enzienaudio/heavy/issues/210#issuecomment-305258592, or mute the thread https://github.com/notifications/unsubscribe-auth/AT-_1dgRVaFh_lXslHOxI2uMOolL321Oks5r_aLhgaJpZM4Nr67T.

amazing thanks, will have try it now

work great thanks guys,
could you pls explain i could implement the  -=2 and +=3 Fq changes,  instead of setting a fixed float like 320.0f and 340.0f . do i need to make a public operation and then replace the float ?
thanks

I think your best manipulating a variable inside a function, and then assigning the variable in the SetFloat
Or you could do the operations in PD and use a bang event to trigger them

On 31 May 2017, at 19:02, fr4nky8oy<EMAIL_ADDRESS>wrote:
work great thanks guys,
could you pls explain i could implement the -=2 and +=3 Fq changes, instead of setting a fixed float like 320.0f and 340.0f . do i need to make a public operation and then replace the float ?
thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/enzienaudio/heavy/issues/210#issuecomment-305268883, or mute the thread https://github.com/notifications/unsubscribe-auth/AT-_1Z-Zt1cFRl36fe1gKK_rEbOqLNy8ks5r_atPgaJpZM4Nr67T.

i like the first option,
i need to research how to implement that

Hey @fr4nky8oy the docs explain how to do this https://enzienaudio.com/docs/index.html#06.unity#exposing-and-setting-parameters
        float freq = script.GetFloatParameter(Hv_example_AudioLib.Parameter.Freq);
        script.SetFloatParameter(Hv_example_AudioLib.Parameter.Freq, freq + 0.1f);

thanks Joe!!

Hi Joe, i am making a UI for the FM PD patch in Unity
I am having some problems understanding why i dont see the Hv AudioLib UI parameters so that I can map the UI slider Horizontal and Vertical values. (please see pics)
do i need to create another script to access the  Hv AudioLib UI parameters from the slider?
Thanks Joe,

Hey @fr4nky8oy can you make a separate issue for this and I'll reply in there. Thanks!

great thanks Joe


fix: add id to localStorage

Allows some data like Standings to persist on refresh

Does not take into account sidebar ID change


Various code fixes

I push a large code change out of this PR, to minimize the review work to do .

+1

merged, thanks.


towards log confmat and mname, commit in benchmark

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

Comparison is base (594030e) 95.26% compared to head (f72aba4) 95.25%.
Report is 6 commits behind head on master.

Files
Patch %
Lines

domainlab/exp/exp_utils.py
83.33%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #650      +/-   ##
==========================================
- Coverage   95.26%   95.25%   -0.02%
==========================================
  Files         128      128
  Lines        4818     4826       +8
==========================================
+ Hits         4590     4597       +7
- Misses        228      229       +1

Flag
Coverage Δ

unittests
95.25% <93.33%> (-0.02%)
:arrow_down:

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

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


Fix JSDoc @import resolution in --moduleResolution bundler

Fixes #60007

@typescript-bot test it

I think this can go in after the beta cut if needed, but either way, @sandersn feel free to merge for me upon approval.


Past events list is very slow to load

What kind of an issue is this?

[x] Bug report

What is the expected behaviour?
The events list in the dashboard should load relatively quick.
What is the current behaviour?
The events list in the dashboard is very slow to load, so slow that it looks like nothing is happening. Time to first byte is ~2 seconds.
How do you reproduce this problem?
Visit the "Tidligere arrangement" link in the events dashboard.
Other information
This could be fixed by implementing pagination of the events overviews (both upcoming and previous).

hahahahha
owf


Feature Request: On-Click  Command Support in Hyprlock Widget

I hope this message finds you well. I am writing to request a new feature for Hyprlock that would significantly enhance its functionality and user experience.
Feature Request:
I would like to propose the addition of an on-click bash command feature within the widget in Hyprlock. This functionality would allow users to execute bash commands directly from the lockscreen, enabling actions such as shutdown, reboot, logout, and sleep with a single click.
Suggested Implementation:

Add an option in the widget configuration to specify bash commands for different on-click actions.
Ensure secure execution of these commands to prevent any potential misuse

Example configuration snippet:
widget_name {
monitor =
# further options
on-click = systemctl syspend
}

Well, what is secure execution? I’m totally on board, but what do you propose as a security measure?

Isn't a button on the lock screen by definition unauthorized, so whatever the user here exposes is on them imho.
Totally want a suspend button though that i can press even though I'm carrying a child or two

I think maybe it's better to have a list of commands that can be executed and only those?
Mainly for security as well as testability with bugs, minimizing them etc...
And we could have it so that there is another variable that allows bash script execution, but whenever that is used, we get a warning and need to supply a flag or smth...
So what I propose:
2 Variables. 1 uses a list of known simple bash commands that are known to be safe and can't be executed without notifying the user.
2 allows for bash script execution, but using them forces a flag to make sure that the user is responsible for what is about to happen next. (Then again bash scripts already get executed with no verification sooo... Make of it what you will.)

security what? it's totally responsibility of users and their own config, if they wish it could be even rm -rf --no-preserve-root /, which you even now technically can execute in label cmd for example. By simply clicking button, you can't do anything beyond what is already defined and therefor permitted by the user in config

This feature would open an infinite number of possibilities and I think these should be kept without any limitation
Also this should not suppose a unauthorized command execution since as @Noino said, if you let someone execute a command without being authenticated you should be sure that command will not cause a threat to the system and that it cannot be abused in any way

please explain me how can one abuse anthing that is permitted by user since this command is predefined in config, I can't get it

Media controls are a possible use case. Mobile phones provide them on a locked screen. I'm not sure about the threat model there

No, this guy means that sudo commands won't work (unless you start hyprlock with sudo), which is honestly a very much a valid argument.
Also who uses hyprlock on a phone? xd

Got it, thanks!
It's possible to configure polkit to enable poweroff, reboot and suspend for a regular user without any authentication. This way hyprlock can run whatever with user permissions and it's users job to bring power related functionality to the user level.
ps. I do have a PinePhone Pro but I haven't tried to run hyprland there. Might be a cool experiment =]

Is this still being considered? Would be a very useful thing


Rule AA0139 when working with text

Describe the bug
the rule does not taking into consideration real length of assigned text
To Reproduce
AL Code to reproduce the issue
procedure ShortDescription()
var
Position: Integer;
Description1: Text[200];
Description2: Text[200];
begin
Position := 100;
Description2 := CopyStr(Description1, 1, Position);
//here I have warning Possible owerflow assigning Text to Text[200]
end;
Expected behavior
It should calculate real length of the text.
Screenshots
5. Versions:

AL Language: 5.0.254558
Business Central:

CodeCop is a static analysis and we do not plan to include dynamic values into it.
If you instead of position write 100 then it should work fine.
Description2 := CopyStr(Description1, 1, 100);
So I have to reject this bug.


Content Creator: Disabled state to buttons

There is currently no visual styling applied to disabled buttons.
Feature: Disabled state on buttons
  As a Content Creator,
  I want to see a visual difference between active and disabled buttons
  So that I have an idea of what actions I can take and are available to me at that moment.

  Scenario: Visual affordance when buttons are disabled
    Given I will be performing actions in the CMS
     And that some actions might not be available until certain condition has been met
     When I am using the CMS
     Then I will be able to tell the actions that are available to me
       And see a visual affordance to any button that is disabled
       And those disabled buttons should be un-clickable

Disabled state to buttons

[ ] Visual affordance when buttons are disabled

http://watson-cms.stage1.mybluemix.net/styles

@poofichu - let me know if this story is consumable for you

@poofichu @joshkimmell - this is ready for review.


checkbox icon display error

When executing check box examples, I found the check box icons were not displaying normally. I suppose it may be text encoding issue.

Hi @lythu95 ,
Thanks for reporting. I wasn't aware that the default icon is not as compatible as I would like. I'll do an update on the default icon for checkbox to make sure its more compatible.
Just a quick question about your environment, what terminal emulator and font are you using?
In the meantime, you can use the enabled_symbol and disabled_symbol parameter to change to a different icon.
Thanks,
Kevin

Thanks for quick response @kazhala
I executed this script on a remote server [CentOS linux 7.9.2009 / GNU bash 4.2.46 ].
SSH client is MobaXterm v12.03 build 4208, font setting being MobaFont with Charset UTF-8

I really appriciate your work on inquirerpy, which helps me a lot after PyInquirer stopped updating.
Thanks,
lythu95

Hi @lythu95,
After some investigation and searching, doesn't seem like a encoding issue since python3 auto detects unicode string and use utf8 encoding. I can also see that the pointer symbol/icon is showing without issues.
It's probably just both the hexagon icon is not that widely supported in some of the prompts. I've changed the default icon to unicode circles.
Could you take a look at the latest master and re-run the examples to see if you could see the checkbox properly this time?
Thanks,
Kevin

Hi @kazhala ,
Now it works well and the circle icon displays normally. Thanks for  your efforts!