Documentation CLI --exclusions arrays (Help Request)

Great Tool.  I love this thing, I'm just struggling to figure out how to use the regex array.
Right now I'm using the following CLI command:
madge --exclude '(test)','^client\/.*$' --image ../myApp-20210326.svg ./
It's properly excluding all my files with the word "test" in them but I can't get it to ignore everything in my '"client" folder.  I'm trying to build a tree of just my server at the moment and I want it to ignore this folder.  I've tried a few variations on the regex (e.g. ^\/client\/.*$, ^\/client.*$, (client) ) but it seems to be ignore the full path and only looks at the file name... that or I'm missing something.

Scratch that... my original --exclusion doesn't work at all... I expect I'm doing CLI arrays wrong.  I used the same format as the --extensions (e.g. --extensions js,jsx).
This works...
madge --exclude '(test)' --image ../myApp-20210326.svg ./
but it seems that by adding the comma and 2nd criteria breaks it.

This works for me (I'm sure it could be made shorter – but I was having issues with directories not at the start of the string, among other corner cases):
yarn dlx madge --exclude '^.*?(\.yarn|\.next|dist|_content|node_modules).*?$' --extensions js,ts,tsx --ts-config tsconfig.json .

I really hate this aspect of JS tooling – every tool implements these patterns/regexes differently. In this case, you can read the code to see how this is ultimately applied.
First, it copies the regex from argv into a single-element array (since the JS API supports multiple excludes):
https://github.com/pahen/madge/blob/bf3bc92197f8fda7d235f6fc22a9c34bb97fda25/bin/cli.js#L94-L96
Then, it calls Tree.exclude:
https://github.com/pahen/madge/blob/aa49a0a94fd966be25141c92c75f97d90ad73dc6/lib/tree.js#L161-L163
...which you can see uses the native JS RegExp module to create a new tree with any keys matching the regex excluded:
https://github.com/pahen/madge/blob/aa49a0a94fd966be25141c92c75f97d90ad73dc6/lib/tree.js#L237-L257
So, knowing this, IMO the easiest way to figure this out (without constantly running madge on the wrong set of 2k+ files) is to write a script and test it out:
# testregex.js

const rex = `^.*?(\.yarn|\.next|dist|_content|node_modules).*?$`;

const re = new RegExp(rex);

const files = [
  "docs/pages/_content/docs/sgr/versions/v0.2.9/image-information/bad.js",
  "docs/pages/good.js",
  "docs/pages/node_modules/bad.js",
  "dist/bad.js",
  "blah/dist/bad.js",
  "blah/.next/bad.js",
  "blah/.next/bad.js",
  "docs/.next/server/pages/next/dist/pages/_error.js",
  ".yarn/pages/_error.js",
];

const excluded = files.filter((x) => re.test(x));
const included = files.filter((x) => !re.test(x));

console.log("Excluded:");
console.log(JSON.stringify(excluded, null, 2));

console.log("Included:");
console.log(JSON.stringify(included, null, 2));

And then run it to make sure it's excluding what you expect:
root@dbb0b85ae1ca:/src/js/splitgraph.com# node testregex.js
Excluded:
[
  "docs/pages/_content/docs/sgr/versions/v0.2.9/image-information/bad.js",
  "docs/pages/node_modules/bad.js",
  "dist/bad.js",
  "blah/dist/bad.js",
  "blah/.next/bad.js",
  "blah/.next/bad.js",
  "docs/.next/server/pages/next/dist/pages/_error.js",
  ".yarn/pages/_error.js"
]
Included:
[
  "docs/pages/good.js"
]

Likewise, I'm trying to run on the CLI & exclusions don't seem to be working.  Looks like it's been over a year & nobody has addressed this, just curious if you ever got it working?
Specifically, my command is:
madge --circular --extensions ts,js --exclude '^(dist|public)' --ts-config ./tsconfig.json --warning .
My project has frontend files (tsx) under public/, and output compiled js under dist/, both of which should be ignored. However, not only do I see it scanning both of those folders while it runs (not sure if that's typical behavior to scan ignored paths?), but it's reporting warnings in files that are definitely in the frontend .tsx's. So either it's running on those tsx (despite specifying only ts & js), or more likely, it's running on their compiled js in dist (despite the exclude). I'd mention that both "dist" and "public" are also excluded in tsconfig, if that's relevant.

Seems like there are multiple issues getting exclude to work as expected.
Here's another: https://github.com/pahen/madge/issues/201 , said he got it working with madgrc but not on the cli, however I still wasn't.
And here's another, saying that paths don't work as expected as they have to be relative to the file being analyzed?https://github.com/pahen/madge/issues/295  I suspect this may be related, but still haven't been able to exclude a root folder.
Seems like some guidance on this might be a good idea, considering that people have been struggling with it for at least 3 years (1st issue is from Jan 2019)

@pahen ?


Crash

Hi, someone had this crash on the BTM server,
https://pastebin.com/embed_iframe/akkbDNqY
Hopefully you can take a look at it, thanks.

Kek, I pushed the fix before I notice this issue - https://github.com/FrogCraft-Rebirth/FrogCraft-Rebirth/commit/2297739763fb5013d704c81d6e4d9fa30999be20

https://github.com/FrogCraft-Rebirth/FrogCraft-Rebirth/releases/tag/2.0.4
I have many classes today - sorry for replying late. I believe this build fixes the issue... if there is still a scheduled server update please include this.

BTM Moon has started; we can assume that this issue has been fixed. :)


Swap to Environment Files

The newest toolkit version uses Environment files to communicate with the Runner. This pr moves towards the new way of communicating with the runner and updates the toolkit version if appropriate.

For the record, this landed in<EMAIL_ADDRESS>(I was mystified as to why I was getting set-env warnings when I didn't use set-env…directly.)


Analysis interface

For preliminary analysis of the result, it may be handy to have an analysis interface which performs some general summary statistics of the data, so not everything has to be downloaded and processed offline at all times.

Perhaps we can come up with a list of the 10 most important numbers/data we'd want to see on the results?

We may split these into two issues:

[ ] as a researcher I want to get summary statistics (mean / variance / standard deviation) about the experiment I have run -> this functionality could be covered with documentation & starter notebooks in R and Python
[ ] as a participant I want to know how well I did, compared to the average performance -> this is already implemented as percentiles in some experiments, we might generalize that.

Is this the same as #979 and should we close this issue?

It isn't really the same, but since that is a big meta-issue, you could wrap this one into it if you think it makes things easier to reason about.
The researcher's view is something we thought about 'outsourcing' to the data science engineers of the Humanities Labs in general: they have good visualisation expertise. On the participant side, it is more MUSCLE specific: another way of describing the issue would be to make it easier to design scoring feedback pages. The trophies in Hooked on Music, for example, work with cutoffs in terms of points or percentages, but it's mostly pretty ad-hoc


Upgrade libs

there are failing tests, but it is not my fault! check my previous PRs to see how I've solved them

Hi, Thanks for the pull requests. I'm back now I'll check them on weekends.

I'll merge this one.


lora ft codes

could follow official lora code style? https://github.com/microsoft/LoRA/tree/main/loralib

There is another repo: https://github.com/cloneofsimo/lora.
Not sure which one we should follow?

Closed due to a newer version coming.


Add feature to "mock once" an implementation.

There are situations where a contract function will call the same mock function twice, and it's required for both calls to give two different results for the execution to work.
Is there any way to chain a couple mockOnce() before starting a test transaction?
Thanks

+1


International Solid-State Circuits Conference (ISSCC) 2023 Code-a-Chip Travel Grant Award: GreenRio 2: A Linux-compatible RISC-V Processor Developed with A Fully Open-Source EDA Flow

final commitment

finish


edge case: toggling between visible and occlusion display modes will reset customized materials

when #8396 is fixed, there will still be a scenario where the developer's custom material will be reset to the default visible material. this would occur if the application switches display modes from visible -> occlusion -> visible.

Needs a way to track when a material was customized or cached. Also a way to say "force material refresh"

This should definitely be looked into for MRTK3. The ability to reliably maintain the spatial mesh materials is key to end user understanding of the application's understanding of the world.

This is covered by the ARFoundation ARMeshManager's mesh prefab, I believe.


readme_example.feature file export fails to execute

When I export the attached file into pdf
       Then EXPECTED RESULT: no formatting issues are present
       But ACTUAL RESULT:  export fails to execute

feature file used is added below.
@a
Feature:
  @b @c
  Scenario Outline:
    Given <x>

    Examples:
      | x |
      | y |

  @d @e
  Scenario Outline:
    Given <m>

    @f
    Examples:
      | m |
      | n |

v0.1.7

duplicates #13


CORE-6475 API Documentation, updated KDocs with better description of interfaces for custom digests

Yes it's currently supported, there are several integration tests


Repo sync for protected CLA branch

The pull request is created from master637534994875914727 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Is there any way to donate?

I recently switched to using Linux, and SourceGit is by far the best replacement for Fork on Windows.
Is there any way I can donate to you? Github sponsoring, Patreon, Paypal, even Bitcoin?
Thank you for the wonderful tool! :)

I'm very glad that you like this software. There are no plans to open donations currently. Maintaining this project and making it better is something I enjoy doing.

Understood, and thank you again for the great app. I will close the issue as it doesn't need to stay open, but it will be available for people who search in the future so they can also find the answer.


Fix indentation of src/xterm.js

Updated indentation of src/xterm.js to fit with the overall style of the code base (2 spaces).
Review without white spaces: https://github.com/sourcelair/xterm.js/pull/263/files?w=0

lgtm


Bugfix Branch

@bighappyface Now that 6.0.0-dev looks set to merge into master in the near future, could we please have a 5.x.x branch with e3c9bccdc38bbd09bcac0131c00f3be58368b416 as the HEAD? That way there will still be somewhere to submit bugfix / backport PRs against for 5.x.

Done: https://github.com/justinrainbow/json-schema/tree/5.x.x

Perfect - thanks :-)


Delete button causes 419 Page expired

This is very strange. There seems to be some problem with Csrf token, but I am using the delete button and crud delete operation out of the box, and did not change anything.
I get the error: There's been an error. Your item might not have been deleted.
Status code 419 for the request, with 'status unknown' / page expired
The update method is working fine for me, so it seems to be limited to just the DELETE method.
EDIT: Just found out this problem only occurs on local server. It might be unrelated to Backpack, will keep searching.

The problem was caused by the use of this route url in the delete button:
data-route="{{ url($crud->route.'/'.$entry->getKey()) }}"
I am running browserSync with webpack, and found out that it did work if I refer to <IP_ADDRESS>:8000 directly instead of my localhost browserSync route.
I made a custom delete button and replaced the above code with:
data-route="/{{ $crud->route.'/'.$entry->getKey() }}"
This makes it work as expected.

@engel-m url() does some magic you can see it here (specifically the method to() that's called by url(): s://github.com/laravel/framework/blob/ee2958b68897b00c5662c80757179fe007555521/src/Illuminate/Routing/RouteUrlGenerator.php
At first i don't see a problem using an absolute url in this scenario, but I am not 100% confident about it.
Why in first place does it throw the error with url() helper ? I expect url() helper to be used ALOT in backpack, does it throw errors in every place ?
Could you change your app url in your config to be http://<IP_ADDRESS> instead of localhost ? Or maybe some configuration on the BrowserSync ? Also it's worth having a look in your config/session.php and make sure it's using the proper values.
I am going to close this as I don't think this is a Backpack issue, but feel free to continue the conversation, I am quite curious.
Thanks,
Pedro


Difference in help message generated between whenCmd and whenCmdArg

VS

See how in the second case when using whenCmdArg the formatting result in [    --debug].
Note: The problem is not related to isOptional implementation.
I suspect the problem is related to these lines:
https://github.com/slaveOftime/Fun.Build/blob/8b764b3e44f0cc68fb481ed9fc22edaabaffa622/Fun.Build/ConditionsBuilder.fs#L58-L71
But I don't know why it doesn't take the same path for generating the print.
I feel like the correct behaviour would be to generate     [--build] in both case, to align it with others long name.

The problem is that for whenCmd the name is for the short name, as for whenCmdArg, the first parameter is for the long name.

Ahhh I completely missed that as in my head by default I was thinking name was equivalent to longName.
Ok, so the code does take the same path it's just that I probably should improve the [] surrounding mechanism.

I fixed it and made it more explicity by append an OPTIONAL for the optional args in 0.4.3.


Struct Tags need to be copied by ProviderComponentConstructor

What does this PR do?
Fx value groups do not work properly currently because the fxutil helper function doesn't copy struct tags. Fix that and add tests to ensure that value groups work.
Motivation
Workloadmeta conversion into the new component layout discovered this bug.
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Functionality covered by unit tests

/merge

/merge --cancel

/merge


Chore: removing panic flag on webhook processing

Description
Flag was added by #4983
The monitor is very noisy while not having direct impact on prod (behaviour existed before, but was not logged)
A card has been created to investigate, but the monitor noise is not warranted
Card: https://github.com/dust-tt/tasks/issues/738

PMRR


need union/variant support

FBE is a awesome serialization library for cpp.
flatbuf will be slower and harder to use, but flatbuffer support union syntax, and the union/variant is very useful for our sceniaro.
So I want to know if Author of FBE has the plan to support it?

+1 for union (enum with associated values?)


Specific MP3 types?

Hi @hemanth!
Take example https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3.
This file, downloaded as buffer, is not detected by the package properly.
Related to https://github.com/audiojs/audio-loader/issues/13 and https://github.com/audiojs/audio-loader/pull/14

Thanks, just published v1.1.3  🎉


Fatal error when installing this bundle.

Attempted to load class "Redis" from the global namespace.
Did you forget a "use" statement?

 * @author Pierre Boudelle<EMAIL_ADDRESS> */
class Client extends Redis
{
    /**
     * @var RedisLogger
     */

snc_redis:
    clients:
        default:
            type: phpredis
            alias: default
            dsn: redis://localhost

predis works, but phpredis gives this error. I'm on the latest version using windows 10, anyone know how to fix?

You need to install the php-redis PHP extension

See above.

It's not also working for me!

cache_adapter:
providers:
my_redis:
factory: 'cache.factory.redis'
snc_redis:
clients:
default:
type: predis
alias: default
dsn: redis://localhost

@devkbsc see https://github.com/snc/SncRedisBundle/issues/299#issuecomment-261073384

php-redis, is it available sysmfony?
Actually the error says

Attempted to load class "Redis" from the global namespace.
Did you forget a "use" statement?

And the file was called in a Google
And the file was called in in vendor\cache\adapter-bundle\src\Factory\RedisFactory.php (line 34)
/**     * {@inheritdoc}     */
public function getAdapter(array $config)    {
$client = new \Redis();
$dsn = $this->getDsn();
 if (empty($dsn)) {
if (false === $client->connect($config['host'], $config['port'])) {
throw new ConnectException(sprintf('Could not connect to Redis database on "%s:%s".', $config['host'], $config['port']));

php-redis is an extension for PHP which needs to be installed too. How this needs to be done highly depends on how you installed PHP on your system.

ok thanks


WP8 push notification issue - An unknown error has occurred. Error: 80020101

Hi,
I am trying to get the push plugin working in wp8. Paste my code below:
var winConfig = {
"channelName" : "test",
"ecb" : "onNotificationWP8",
"uccb" : "channelHandler",
"errcb" : "jsonErrorHandler"
};
pushNotification.register(wpSuccessHandler, wpErrorHandler, winConfig);
But I always am getting an empty uri in the data from the callback wpSuccessHandler.
With the following exception:
A first chance exception of type 'System.SystemException' occurred in Microsoft.Phone.Interop.ni.dll
ERROR: Exception in InvokeScriptCallback :: An unknown error has occurred. Error: 80020101.
Can anyone advise/help with this ?

Just tried a couple of times, sometimes return empty uri, sometimes return the valid uri.
Not sure what's wrong here

I have the same problem, are you fix the problem?

I did, trying using $interval until you got the uri.

Funcionou uma versão quando publiquei na WP loja na segunda tentativa, porém alguma atualização que fiz deixou de funcionar. Você pode enviar o seu código, pois algum detalhe deve estar fazendo a diferença.

It worked when I published a version in WP store on the second try, but I did some updating crashed. You can send your code because some detail should be making a difference.

It always works for me for the second time. First time is always empty, simply ignore it and try one more time.

Very interesting this repo/plugin looks like no longer being supported !!! Everyone trying to use a walk around to solve this problem !

Make sure the date and time settings are correct on your device and then try. This issue has been addressed.


Rust - Implement a higher level TCP registration and initialization process

Establishing a TCP connection to a peer currently requires a workflow such as:
// Create and register a connection
let router = TcpRouter::register(&ctx).await?;
let connection = tcp::start_tcp_worker(&ctx, remote_node.parse::<SocketAddr>().unwrap()).await?;
router.register(&connection).await?;

We would like to simplify this process as much as possible, ideally to a single call.

@spacekookie another issue related to TCP refactors

We can probably close this issue now, since the TCP transport has been refactored.


request help: inject deployment annotation or label override not working

Affected product area
[x] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[x] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Description
I want to control deployment injection but sidecar is not injected on designated workloads.
# kubectl get ns -L istio-injection
NAME              STATUS   AGE   ISTIO-INJECTION
kube-system       Active   19d
kube-public       Active   19d
kube-node-lease   Active   19d
istio-system      Active   18d
default           Active   19d

this is my test deployment yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd
  labels:
    server: httpd
    app: web
    sidecar.istio.io/inject: "true"
spec:
  replicas: 1
  selector:
    matchLabels:
      server: httpd
      app: web
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "true"
      labels:
        server: httpd
        app: web
    spec:
      containers:
      - name: busybox
        image: busybox
        imagePullPolicy: IfNotPresent
        command: ["/bin/sh", "-c", "echo 'this is httpd' > /var/www/index.html; httpd -f -p 8080 -h /var/www"]

---
apiVersion: v1
kind: Service
metadata:
  name: httpd-svc
spec:
  selector:
    server: httpd
  ports:
  - name: http
    port: 8080
    targetPort: 8080
    protocol: TCP

the result
# kubectl get po
NAME                     READY   STATUS    RESTARTS   AGE
httpd-6656bf48cd-lcfdt   1/1     Running   0          14m

the MutatingWebhookConfiguration
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"admissionregistration.k8s.io/v1beta1","kind":"MutatingWebhookConfiguration","metadata":{"annotations":{},"labels":{"app":"sidecar-injector","install.operator.istio.io/owning-resource":"unknown","install.operator.istio.io/owning-resource-namespace":"istio-system","istio.io/rev":"default","operator.istio.io/component":"Pilot","operator.istio.io/managed":"Reconcile","operator.istio.io/version":"1.9.3","release":"istio"},"name":"istio-sidecar-injector"},"webhooks":[{"admissionReviewVersions":["v1beta1","v1"],"clientConfig":{"caBundle":"","service":{"name":"istiod","namespace":"istio-system","path":"/inject"}},"failurePolicy":"Fail","name":"sidecar-injector.istio.io","namespaceSelector":{"matchLabels":{"istio-injection":"enabled"}},"objectSelector":{"matchExpressions":[{"key":"sidecar.istio.io/inject","operator":"NotIn","values":["false"]}]},"rules":[{"apiGroups":[""],"apiVersions":["v1"],"operations":["CREATE"],"resources":["pods"]}],"sideEffects":"None"}]}
  creationTimestamp: "2021-04-25T01:06:47Z"
  generation: 2
  labels:
    app: sidecar-injector
    install.operator.istio.io/owning-resource: unknown
    install.operator.istio.io/owning-resource-namespace: istio-system
    istio.io/rev: default
    operator.istio.io/component: Pilot
    operator.istio.io/managed: Reconcile
    operator.istio.io/version: 1.9.3
    release: istio
  managedFields:
  - apiVersion: admissionregistration.k8s.io/v1beta1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:kubectl.kubernetes.io/last-applied-configuration: {}
        f:labels:
          f:app: {}
          f:install.operator.istio.io/owning-resource: {}
          f:install.operator.istio.io/owning-resource-namespace: {}
          f:istio.io/rev: {}
          f:operator.istio.io/component: {}
          f:operator.istio.io/managed: {}
          f:operator.istio.io/version: {}
          f:release: {}
      f:webhooks:
        k:{"name":"sidecar-injector.istio.io"}:
          .: {}
          f:admissionReviewVersions: {}
          f:clientConfig:
            f:service:
              f:name: {}
              f:namespace: {}
              f:path: {}
          f:failurePolicy: {}
          f:name: {}
          f:namespaceSelector:
            f:matchLabels:
              f:istio-injection: {}
          f:objectSelector:
            f:matchExpressions: {}
          f:rules: {}
          f:sideEffects: {}
    manager: istio-operator
    operation: Apply
    time: "2021-04-25T01:06:47Z"
  - apiVersion: admissionregistration.k8s.io/v1beta1
    fieldsType: FieldsV1
    fieldsV1:
      f:webhooks:
        k:{"name":"sidecar-injector.istio.io"}:
          f:clientConfig:
            f:caBundle: {}
    manager: pilot-discovery
    operation: Update
    time: "2021-04-25T01:06:52Z"
  name: istio-sidecar-injector
  resourceVersion: "96501"
  selfLink: /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/istio-sidecar-injector
  uid: 36fa4b27-dbba-4db3-9da3-dff3e31273ed
webhooks:
- admissionReviewVersions:
  - v1beta1
  - v1
  clientConfig:
    caBundle: .....
    service:
      name: istiod
      namespace: istio-system
      path: /inject
      port: 443
  failurePolicy: Fail
  matchPolicy: Exact
  name: sidecar-injector.istio.io
  namespaceSelector:
    matchLabels:
      istio-injection: enabled
  objectSelector:
    matchExpressions:
    - key: sidecar.istio.io/inject
      operator: NotIn
      values:
      - "false"
  reinvocationPolicy: Never
  rules:
  - apiGroups:
    - ""
    apiVersions:
    - v1
    operations:
    - CREATE
    resources:
    - pods
    scope: '*'
  sideEffects: None
  timeoutSeconds: 30

Version
# istioctl version
client version: 1.9.3
control plane version: 1.9.3
data plane version: 1.9.3 (8 proxies), 65536.65536.65536 (1 proxies)

# kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.10+k8e1", GitCommit:"bec6de19b86d0cdf44f49664b2963dbc6910ecde", GitTreeState:"dirty", BuildDate:"2021-04-23T02:16:23Z", GoVersion:"go1.16.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.10+k8e1", GitCommit:"bec6de19b86d0cdf44f49664b2963dbc6910ecde", GitTreeState:"dirty", BuildDate:"2021-04-23T02:16:23Z", GoVersion:"go1.16.2", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
istioctl installation

You can try to check the replicasets by kubectl get rs and kubectl describe rs xxx.

The sidecar.istio.io/inject: true label should be in the spec.template.metadata.labels section of the deployment

You can try to check the replicasets by kubectl get rs and kubectl describe rs xxx.

Thanks for your answer， this is the replicasets
# k describe rs httpd-9fbfb84c8
Name:           httpd-9fbfb84c8
Namespace:      default
Selector:       app=web,pod-template-hash=9fbfb84c8,server=httpd
Labels:         app=web
                pod-template-hash=9fbfb84c8
                server=httpd
                sidecar.istio.io/inject=true
Annotations:    deployment.kubernetes.io/desired-replicas: 1
                deployment.kubernetes.io/max-replicas: 2
                deployment.kubernetes.io/revision: 1
Controlled By:  Deployment/httpd
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  app=web
           pod-template-hash=9fbfb84c8
           server=httpd
           sidecar.istio.io/inject=true
  Containers:
   busybox:
    Image:      busybox
    Port:       <none>
    Host Port:  <none>
    Command:
      /bin/sh
      -c
      echo 'this is httpd' > /var/www/index.html; httpd -f -p 8080 -h /var/www
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Events:
  Type    Reason            Age   From                   Message
  ----    ------            ----  ----                   -------
  Normal  SuccessfulCreate  26h   replicaset-controller  Created pod: httpd-9fbfb84c8-8c9qm

The sidecar.istio.io/inject: true label should be in the spec.template.metadata.labels section of the deployment

I try it on spec.template.metedata.labels too, but the pod still no been injected

Prior to 1.10, the namespace also needs the istio-injection=enabled label. In 1.10 it will work how you have it

it will work how you

yes!  it works after i upgrade the istio to rc1.10.0. After that i reinstall the version 1.9.3, it works as expected.

I installed istio v1.9.4 with helm. It works when i changed sidecarInjectorWebhook.useLegacySelectors from true to false to use new generated mutatingwebhook.
https://github.com/istio/istio/pull/30013 This PR fix this issue. The root cause is the mutatingwebhook.


App registration details and permissions

Hi Team,
I struggle to figure out the app registration details for the authentication part. It's not in the article.
Could you please specify the permissions required for the app as I keep getting " Forbidden" to the request:
$tenantReportCreateResponse = Invoke-RestMethod -Method Post -Uri "https://api.powerplatform.com/governance/crossTenantConnectionReports?api-version=2022-03-01-preview" -Headers $Headers -Body ""
Thank you very much!
Olena Grischenko
Director & Principal Consultant @ Technomancy
5X Microsoft Business Applications MVP
0451 403 156 | technomancy.com.au

[Enter feedback here]

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

ID: 84e1665d-5676-8035-6cbc-b2811e01f8ca
Version Independent ID: 84e1665d-5676-8035-6cbc-b2811e01f8ca
Content: Tutorial: Create cross tenant isolation reports (preview) - Power Platform
Content Source: power-platform/admin/programmability-tutorial-cross-tenant-reporting.md
Service: power-platform
Sub-service: admin
GitHub Login: @laneswenka
Microsoft Alias: laswenka

Thanks for your comment, @alena-grischenko. This issue has been assigned to the doc author for review.

Any updates?


Too many includes when rendering collections with partial blade views

Laravel Version: 5.1.*

Description:
Too much include directives inside a for loop affects render time significantly, that's because every time the loop iterates the native php include is used.
The Purpose of a directive like @each('collection_item_renderer', $collection, 'item') is to satisfy the don't repeat yourself principle, but it heavily increases render time on large collections. something like twig macros would help a lot in these situations. the compiler would simply copy/paste the partial blade inside the loop. If the scoped data is a concern the final output can be wrapped around self-invokable function something like the following:
// contents of main view file
@for($i=0; $i<1000; $i++)
    @render_macro('index_renderer', $i)
@endfor

// contents of index_renderer.blade.php
{{$i}}

// Final compiled output
<?php for($i =0; $i<1000; $i++) {  ;?>

// If partial variable scope is not important
<?php echo $i ;?>

// If partial variable scope is important
<?php $function = function ($i) { ;?>
     <?php ob_start() ;?>
     <?php echo $i ;?>

<?php } ;?>

<?php call_user_func($function);?>

<?php } ;?>

please feel free to open a PR.


Optionally warn if template requires field missing from context

This modification will allow for printing warning messages when a field referenced in a template is missing from context.
Template::Mustache.render(
    '{{missing_field1}} {{missing_field2}} {{missing.field}}\n',
{}, :warn);

# Field not found ❮missing_field1❯
# Field not found ❮missing_field2❯
# Field not found ❮missing.field❯

render will continue with the current behavior without the :warn flag.

Thanks for this patch! I can see this coming in handy during development....

Thanks!


Update navbar

What does this PR do and why?
Closes https://github.com/jbx-protocol/juice-interface/issues/2975
I've created smol utility function recordClickInFathom so we can use it without code-repetition in the future, lmk if you like it!
Also, I've replaced it in HeroSection.tsx so it uses that utility function now.
One more thing that is not related to this PR but I stumbled upon that confusion when I created this PR.
Initially, I named this branch as update-navbar but when I tried to push it I was getting a non-fast-forward error, as the branch is not updated to its remote branch; my confusion was why it was not updated since it was created just now.
Then I realized that it could be some stale branch that was named exactly like this one, it looks like we got over 1000 branches and most of them are already merged, we can begin the process of deleting all those branches?
Screenshots or screen recordings

Acceptance checklist

[x] I have evaluated the Approval Guidelines for this PR.
[x] I have tested this PR in all supported browsers.
[x] I have tested this PR in dark mode and light mode (if applicable).

also

we can begin the process of deleting all those branches?
yes... great point.

@NakedFool looks fantastic, thanks for this!
While you're here (and we have a nice new helper function), could you track clicks on the little search button in the top nav too (code: OJRCY4EI)

Yep all good! added fathom trackings to quick project search as well, let me know how PR feels now overall 🍻

@NakedFool thanks for making these changes, lets merge!


FormBuilderRadioGroup doesn't set a value

on flutter_form_builder: v3.12.0,
this code:
          FormBuilderRadio(
            attribute: 'testValue',
            initialValue: null,
            options: [
              FormBuilderFieldOption(value: true, child: Text('Yes')),
              FormBuilderFieldOption(value: false, child: Text('No')),
            ],
            decoration: InputDecoration(border: InputBorder.none),
            validators: [],
          ),

will never set a value as true or false, it always remains null. I see there was a rework of this component recently, is it related?

Same issue... problem is below piece of code in generateItems which reset the value to original value. Selection on label work because of  one extra call widget.onChanged?.call(selectedValue);
    if (widget.value != null) {
      selectedValue = widget.value;
    }

Thanks @rishisaraf11 for the keen eye and highlighting the problem.


fix(frontend): Import firebase types

Description
Dependency upgrades in #96 seem to have broken the frontend build.
This PR attempts to fix this.
Motivation and Context
This PR unblocks #96. The frontend's build should be OK before #96 can be merged.
How Has This Been Tested?
Tests are OK.
Types of changes
bug fix

@nielsmaerten yup, this looks great. going to return firebaseui to 4.2.0 as I don't think that version needs to change, and will merge this in.


Missing Tools in Tools Menu

Steps to reproduce
Install OpenSim-GUI, either using the build scripts or from an artifact installer, and check if all of the tools are available in the menu. More information in #1405.
Expected result
All of the tools are available in the menu.
Actual result
Some tools are missing. Only Scale Model..., IMU Placer..., Inverse Kinematics..., and IMU Inverse Kinematics... are available.

Environment and GUI version
Problem replicated in Windows, Debian and Ubuntu, using artifact and builds generated from master branch.

CI generated build from Dec, 7 was working. https://github.com/opensim-org/opensim-gui/actions/runs/3644659114
CI generated build from Dec, 8 was not working. https://github.com/opensim-org/opensim-gui/actions/runs/3653889015
Between these two days, the only change is this commit I made related to Issue #1357.
https://github.com/opensim-org/opensim-gui/commit/913b3a2946dc40d12a138dbb562cd6f9905b25fc

Thanks for investigating @AlbertoCasasOrtiz and the pointer to the likely change that caused it, I'll fix

I reverted the change from the commit above and reopened the issue pending fix so others are not on hold.

@aymanhab I think I have solved it in #1414. Is there any way of automating GUI testing? I have seen this issue regarding that #328.

We'd love to automate GUI testing as you found on #328 but that seems like a significant undertaking that we can investigate after the current sprint and decide where it fits in our development priorities.

@AlbertoCasasOrtiz Let's refactor the two PRs to fix toolbar and restore missing commands into one PR, let ci build it and we can test the integrated artifacts on windows, mac and linux, if all works we can merge and close both issues.


style-loader generates if (false) code

I get a lot of warnings if I combine style-loader and the uglify plugin. The generated if (false) results in "Condition always false" and "Dropping unreachable code" warnings from uglify. Why not just skip that part entirely when emitting the code?

it generates if(module.hot) which is processed by webpack.

Ah, cool stuff. Then uglify should not emit warnings I guess.


Pretend PHP 7.0 for finding the module registry

Using the version of the executing VM causes error in running this tool on unsupported target version of PHP.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
10 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 78.387%

Files with Coverage Reduction
New Missed Lines
%

src/Lib/PhpInternals/ZendTypeReader.php
10
64.86%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
4490

Relevant Lines:
5728

💛  - Coveralls


Add documentation to terra-table detailing how onChange is used

Issue Description
Single Selectable Rows has an attribute called onChange that can help a developer get the index of a selected table row. However, it's not clear from the documentation on how it should be used.
Issue Type

[ ] New Feature
[x] Enhancement
[ ] Bug
[ ] Other

Expected Behavior
onChange is documented in the props.
Current Behavior
onChange is not documented

If you like, we can add additional documentation to the table page as well

Gonna grab this!


Idea: software user experience assessment/improvement service

Could be a community project where people donate their time to assess others' software.

Could easily consist of mostly non-scientists...


[NCL-8552] Change onRemove to unregister function (useForm hook)

@patrikk0123 jira number seems to be wrong?


GTS: Type from yielded value of let is unknown

Description
When using {{#let}} in a GTS template, the yielded value is unknown`
Steps to Reproduce

Clone https://github.com/universal-ember/ember-primitives
Open ./ember-primitives/src/components/avatar.gts

Expected behavior:
The attributes on imgState, which is yielded from {{#let (ReactiveImage @src) as |imgState|}} on line 80, can be found and used.
Actual behavior:
The attributes on imgState are reported as unresolved.
IntelliJ shows the import as unused
Reproduces how often:
This can always be reproduced
Versions
IntelliJ IDEA 2023.3.2 (Ultimate Edition)
Build #IU-233.13135.103, built on December 20, 2023
Plugin version: 2023.3.1

fixed by #112


Regression: v1.80 -> 1.81 on FreeBSD

After updating from version v1.80 to v1.81, the following regression occurs:
ft2-clone /tmp/some.xm

The audio track plays normal but 'Error' box appears:

As soon as OK is pressed the player crashes:
Segmentation fault (core dumped)

Here is what I get from gdb:
$ gdb /usr/local/bin/ft2-clone
GNU gdb (GDB) 14.1 [GDB v14.1 for FreeBSD]
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd14.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/ft2-clone...
(No debugging symbols found in /usr/local/bin/ft2-clone)
(gdb) r
Starting program: /usr/local/bin/ft2-clone
[New LWP 213570 of process 72069]
[New LWP 213571 of process 72069]
[New LWP 213572 of process 72069]
ALSA lib seq_hw.c:529:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

MidiInAlsa::initialize: error creating ALSA sequencer client object.

Thread 4 received signal SIGSEGV, Segmentation fault.
Address not mapped to object.
[Switching to LWP 213572 of process 72069]
0x00000000002e414c in ?? ()
(gdb) continue
Continuing.
Audio write: Invalid argument
[Detaching after fork from child process 72269]
[LWP 213571 of process 72069 exited]

Thread 4 received signal SIGSEGV, Segmentation fault.
Address not mapped to object.
0x00000000002e414c in ?? ()
(gdb) bt
#0  0x00000000002e414c in ?? ()
#1  0x000000000027c7a1 in ?? ()
#2  0x000000000027cddf in ?? ()
#3  0x000000080045a2ad in ?? () from /usr/local/lib/libSDL2-2.0.so.0
#4  0x00000008004e83f9 in ?? () from /usr/local/lib/libSDL2-2.0.so.0
#5  0x0000000800518a75 in thread_start (curthread=0x804f70900) at /usr/src/lib/libthr/thread/thr_create.c:290
#6  0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdfbfc000

The following SDL versions are present on the system:
sdl2-2.30.1
sdl2_gfx-1.0.4
sdl2_image-2.6.3_5
sdl2_mixer-2.6.3_1
sdl2_ttf-2.20.2

Hi.
I can't trigger this crash on my Ubuntu test machine, but I found out that I had commented out the MIDI callback initialization code... Not that it should fix your issue, but it's pretty serious anyway. 🤣

Thank you for the update and for checking the issue on your Ubuntu setup!
To make things as easy as possible, I'm willing to set up a virtual FreeBSD image complete with a desktop environment and all the necessary tools for building and testing. This could help you avoid any extra setup on your side and jump straight into resolving the issue. If this sounds good to you, I can get everything ready and send it your way.
Just let me know if you’re interested, and I'll take care of the preparations.

I'm pretty sure the crash comes from the MIDI initialization thread. It even crashes on Windows XP, but works fine on Windows Vista and later. The reason I put the MIDI init in its own thread is because it can take several seconds on macOS.
Maybe I should init it in the main thread, and only do the threaded solution (nasty) on macOS instead.
And yes, it may sound strange that it could come from the MIDI thread when it worked in v1.80, but I think it's extremely sensitive to timing (the amount of code executed after thread is started).
Can you try to comment out line 235 to 247 (all of them) in ft2_main.c and see if it still crashes when loading a module through the command line parameter?

Can you try to comment out line 235 to 247 (all of them) in current ft2_main.c from the github repo, and see if it still crashes when loading a module through the command line parameter?

As usual, you were right :smile:!
Commenting those lines from rev d12b46e 'fixes' the issue.

Definitely tempting.

OK I'll try the threaded method for macOS only, as a last resort. I haven't had any crashes on Mac so far, so maybe it's "safe" to do it there. I'll make a new version later today.

Ok I have released v1.82 now. Could you test it out and see if the problem still persists?

I am happy to report that v1.82 has solved the problem. Thank you!


[Feature Request] Add source translation file to CI/CD artifacts

If an AL project uses an external translation service such as Weblate, it would be very useful to expose the source translation file through some workflow. I've requested splitting the compiler and XLIFF generator into two separate scripts, but as long as this feature remains unimplemented, I think it's best to give AL Go an option to add the source translation file to the output of the CI/CD workflow, since this pipeline already generates the required file.
While it is possible to have the developers push changes to the translation files, this solution comes with many unnecessary merge conflicts, and this solution could avoid this by putting a dedicated source in charge of the translation files.
The solution would require a setting like addTranslationToArtifacts, which simply enforces the TranslationFiles feature flag for the compiler and adds the *.g.xlf files into their own zip file and adds them to the workflow artifacts.
Alternatively, the build pipeline could also push changes to the source translation file - that way, developers wouldn't have to generate the translation file on build, and it would still be in the repository.

Translation is something we will be looking at to add to AL-Go for GitHub and I have been collecting ideas for this.
I will add this information to that pile.


Update docs and add new aliases for unpack and eject

I'm also wondering if we need both RequireRecipeCommand and UpdateRecipeCommand
They do the same thing except one errors when the recipe doesn't exist, and I don't think we need to do that necessarily?

Closing this PR. I don't think adding aliases adds any value here - if anything it increases ambiguity. That and the fact that Stevie has said they don't remember what the aliases are for lead me to think this isn't a change we should be merging in.
Feel free to reopen and discuss if you disagree.


Change the version of glib to fix bug!

Need

to fix the problem caused by
https://gitlab.gnome.org/GNOME/glib/-/commit/b71117d89434db83d34bc1b981ca03d4be299576

What issue are you having?


feedback on "high-level computation patterns"

@scottyhq points out that we should address that new users start by writing loops, we should encourage them to think of converting loops to these higher level helpers
@JessicaS11 points out that these high level objects are hard to debug and understand. So some more intro material would be useful.

see pydata/xarray#7641 for an example for the conversion from loops to groupby.
The intro material should include tips on how to visualize those high-level objects (like, use .construct for rolling or call dict on groupby objects). I find that looking at a small sample of what they contain really helps when trying to come up with ways to transform the high-level object back to a Dataset / DataArray.
Also, maybe this is something for the main repository, but calling arr.rolling(...).construct("window_dim").isel(...) to get something that is easy to understand might be a bit much to write, so we probably should modify the repr of those objects to be a bit more informative?

Just chatted with @maxrjones .
Another concept  to emphasize with rolling is views vs copies after calling .construct. And that if you have a vectorize-able function calling it on the output of .construct is probably a lot better than using Rolling.__iter__

You can also check the my links. We have used some of Xarray high computational patterns. I will be posting some more of my work which combine xarray with other packages like gdal


Release 1.0 version

This bundle seems to be stable enough, is it time to release v1.0.0? This would help with regards to composer minimum stablility, everything below v1 is seen as unstable.

👍

It seems the maintainer dropped all work on Slack projects in May 2016. Should these projects be considered abandoned?

Probably


python step directly from config

the Python side of things will go in a follow-up PR

@maxpumperla some of the target folder classes creeped inside. Other than that it's great


Debug/information methods must produce meaningful debug/info output

In output must include arguments and values, ideally simulate method signature.

4 hrs


run non-privileged container

Following on from issue #7, it would be desirable to be able to run weave in a non-privileged container. The sole reason we are doing so is because selinux (et al?) prevents binding of raw ip sockets otherwise. So the burning question is whether we could somehow avoid doing that...
Why do we need raw IP sockets?
A peer that connects to us may sit behind a firewall that does not permit "unsolicited" inbound udp packets. So in order to communicate with that peer we must send udp packets with a source ip address & port that matches the destination the peer connected to. For ordinary upd packets we accomplish that by simply sending them on the listening socket. But we also need to be able to send udp packets with 'DF' ("do not fragment") set, which requires setting of the IPPROTO_IP.IP_MTU_DISCOVER=IP_PMTUDISC_DO socket option. So we need a separate socket for that. Furthermore, we need to be able to catch the EMSGSIZE errors that may be encountered when sending on such a socket, and retrieve the pmtu from the IPPROTO_IP.IP_MTU socket option. So we really need one socket per peer, so we can associate the error & pmtu with the correct peer.
We could create those per-peer DF udp sockets with net.DialUDP. However, we need to specify the same source ip address & port as our main udp listener. DialUDP attempts to bind to the source address & port, which fails since it is already bound by the listener.
That's why we create a raw IP socket instead. Ports don't feature in IP, so there is no issue with binding.
What else could we do?

Use the listener socket to send all udp packets, setting the appropriate socket options per packet. That requires a global lock in order to make the set_option, send_packet, check_error, perhaps_retrieve_pmtu sequence atomic, thus effectively serialising all outbound peer communication and also introducing one or more possibly expensive syscalls into the critical path. However, note that a) inbound peer communication is already serialised, b) outbound non-df communication gets serialised (since writing on socket takes a lock). So we should measure the performance impact before discarding this solution.
somehow set SO_REUSEADDR when creating the extra udp sockets.  It is also not clear whether this is safe. Would it interfere with the listening socket? Would the exta sockets somehow interfere with each other, especially when it comes to handling the EMSGSIZE errors?

Perhaps we can WONTFIX this.  I'd guess that the weavetools container requires --privileged anyway, so I'm not sure that the weave container's need for --privileged is worth worrying about.

IMO there's a difference between running a privileged container briefly, as happens with weavetools, vs continuously, as happens with weave.


docu fix

Hello
Is there some correction that needs to be made here
the BEYLA_PRINT_TRACES=true configuration option tells Beyla to log any trace to the standard output. The BEYLA_OPEN_PORT=true option tells Beyla to instrument the service that owns the port 8080. Since Beyla requires administrator rights to load eBPF programs, the beyla command must run with sudo -E (or as a root user).
Should this BEYLA_OPEN_PORT=true  be BEYLA_OPEN_PORT=8080

Nice catch! Thank you @yosiasz!


Relative Paths

I am using WinLaunch in portable form so that data is saved in Data/Items.xml relative to the project's directory.  I have difference instances of WinLaunch running relative to where it is executing, so that other locations are backups or redundancies.
When I add applications using the GUI the applications are added to Items.xml using absolute paths.  When I open that file in a code editor and change the absolute paths to relative paths the application icons continue to display perfectly, but nothing executes when clicking on the application icons.

Absolute path example: \\network\games\windows\doom\doom.exe
Relative path example ..\..\windows\doom\doom.exe

In the case of the relative path I am running WinLaunch from a directory at \\network\games\tools\WinLaunch

Why would you want relative paths?
When you are running it from a different directory it wouldn't work at all anymore?


Add SpringInterpolator

This is an example of a pull request. This text area supports markdown!
Try titles
or bolded text
the possibilities are endless
Write about what you add to the project with your pull request. Make sure to be descriptive!
Contributors will be able to add comments and if you allow it edit your pull request too.
Make sure to always follow the Pull Request guidelines of the repository you're contributing too and remain civil!

[x] @imkunet  approved these changes

There are no mistakes in the JSON file but even if there were they were fixed in the last commit


LanceDB Integration

Re-implementation of LanceDB (#450). Lance should now be compatible with Linux AArch64 for Python 3.9
@AyushExel

Hello
Look my names Ross
I can’t have you copying things and pasting them to the internet, thanks for asking or advertising GitHub. Contact me I have some work and things I need help with on Coinbase
Sent from my iPhone
On Jul 11, 2023, at 12:53 PM, Leon Yee @.***> wrote:

Re-implementation of LanceDB (#450https://github.com/TransformerOptimus/SuperAGI/pull/450). Lance should now be compatible with Linux AArch64.
@AyushExelhttps://github.com/AyushExel

You can view, comment on, or merge this pull request online at:
https://github.com/TransformerOptimus/SuperAGI/pull/723
Commit Summary

b1c8bd2https://github.com/TransformerOptimus/SuperAGI/pull/723/commits/b1c8bd21cbac484c3e8c3dbd8f386c332cd765ec LanceDB Integration

File Changes
(6 fileshttps://github.com/TransformerOptimus/SuperAGI/pull/723/files)

M gui/pages/Content/Agents/AgentCreate.jshttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-abd685c27181fb5808250db5d2c3da86c27b4f1b7c506d1d1f5c3ec726b24d73 (5)
M requirements.txthttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552 (1)
M superagi/jobs/agent_executor.pyhttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-97fe632b407d9eda4b7c8c3182d2b5fe86e07c6d87f52e26794be747ae1aa36d (8)
A superagi/vector_store/lancedb.pyhttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-0d62f63b60863d0c09f99d8cdd043ffbe6d7a02af931d71b5df9c1d69ce0bee6 (119)
M superagi/vector_store/vector_factory.pyhttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-18f25a0395bbef6b26346e52d2041f21ea3cbb80d1092e2c2b70ad3e683a8fc6 (18)
A tests/integration_tests/vector_store/test_lancedb.pyhttps://github.com/TransformerOptimus/SuperAGI/pull/723/files#diff-d8b3a45358303e76a571a8420ba82e70f75d3514684b7910586abb3ec761a80a (107)

Patch Links:

https://github.com/TransformerOptimus/SuperAGI/pull/723.patch
https://github.com/TransformerOptimus/SuperAGI/pull/723.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/TransformerOptimus/SuperAGI/pull/723, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BAFWBXQ3W4K5QE4XPIAQQXTXPWVJXANCNFSM6AAAAAA2GPOCNE.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@luciferlinx101 hey this should probably not break the build. Can you please try again? Thanks!

@luciferlinx101 hey can we get an update on this? Thanks!

Hello
This ticket has been submitted already and can’t use google in here
Sent from my iPhone
On Jul 16, 2023, at 10:06 PM, Ayush Chaurasia @.***> wrote:

@luciferlinx101https://github.com/luciferlinx101 hey can we get an update on this? Thanks!
—
Reply to this email directly, view it on GitHubhttps://github.com/TransformerOptimus/SuperAGI/pull/723#issuecomment-1637387522, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BAFWBXUWHR4QE33W34FVZG3XQTB5JANCNFSM6AAAAAA2GPOCNE.
You are receiving this because you commented.Message ID: @.***>

 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.

Hello @TransformerOptimus, has there been any update on this yet? Appreciate it!

Hey, @unkn-wn we need Milvus DB to support meta data filtering. Please let me know if that is possible, then we will be good to go.

@JohnHunt999 hey, can you point me to the metadata search code in some vector_store for reference? Thanks!

@Tarraann can you please help @AyushExel with the code to set up LanceDB.

@Tarraann can you please help @AyushExel with the code to set up LanceDB.

Sure!! Hey @AyushExel let's sync up on a meeting to discuss current support for metadata filtering for other vector stores.

@Tarraann sure sounds good. Please send an invite to<EMAIL_ADDRESS>

@Tarraann sure sounds good. Please send an invite to<EMAIL_ADDRESS>
I have sent you the invite for meeting tomorrow at 4:30 PM IST.

Sounds goood!


Refac test implementation

With this PR, I propose a major refactoring of the test implementation, mostly to drop QEDcore.jl as a test dependency. See #144 for details.
TODO (unit tests itself)

[x] particle: check only particle properties
[x] particle: implement and check propagator
[x] particle: implement and check base_state
[x] process: moving parts that do not belong to processes (marked in the code by TODO)
[ ] particle stateful: implement some tests
[x] cross section: remove coordinate-based evaluation (is checked in PSP tests)
[ ] core_compat: move to QEDcore.jl

TODO (test implementation)

[x] psp: make TestPhaseSpacePoint(...,moms) type-stable
[ ] psp: implement proper in- and out-psps
[x] particle: implement massless particles
[ ] psl: implement failing PSL

TODO (general)

[ ] consider testing everything for (TestMomentum{T}, TestMomentumMutable{T}) where T<:Union{Float16,Float32, Float64} (not just for TestMomentum{Float64})

Final remarks
Solves #144.
Makes #140 easier to achive.

@Anton This one is almost done. I have a fix for the GPU tests, which I tested for CUDA, and I will push if I tested it locally for AMDGPU as well.
I think most of the rest could be reviewed. Sorry for the long list of changes, but most of it is reshuffling and renaming of things.
Btw: I expect no comment earlier than mid January 😉


[loc][Query][LibraryManager] Localizability of string:  "CdnjsLibraryIdHintText"

Hi,
please help localization team to answer question from translator.
In case translator is not sure about context/meaning/localizability of string we raise a question to Core team.
Could you help please? Thanks!**
Source:
Example: <library>@<version>
File Name:
LibraryManager\MultilingualResources\Microsoft.Web.LibraryManager.xlf
Query:
Are the words "library" and "version" localizable?

Yes, these terms are localizable.

Thanks!


Proving in zero-knowledge (private inputs)

We are hoping to get some clarification on what in general it is possible to determine from the proof file to understand if/how the prover can be used for ZKPs. For example, the proof file begins with a "private_input" field and we have found that when using a hash function builtin (pedersen or poseidon) the hash inputs appear in this field. For our application we would like to keep these private.
We have also found that after deleting the "private_input" section of the proof file, the proof can still be verified by cpu_air_verifier. Is this enough to make the proof a ZKP, or can other sections of the proof reveal details of the execution / private inputs?
For example, some (but not all) of the memory segments identified as "execution" appear in the proof file - do these have the potential to reveal anything about private inputs, or only public outputs / the program being verified?
Also, is there any way to prevent private inputs from being written to the proof file in the first place?

You can safely delete the private_input and memory sections from the proof file and the verifier will still correctly verify it. Same goes for annotations of course. The proof itself is binary (the hex section in the proof file) and reveals very little input information but strictly speaking it isn't "zero knowledge" in the sense that Stone doesn't do the extra effort to randomize parts of the trace that may reveal information in the query responses. This kind of enhancement is possible, though at a bit of an overhead to the prover.

Thank you @gkaempfer for this answer.
We would like to know:

Is there is a plan to support this in the (near) future.
Is there a way we could contribute to this enhancement ?

we have no plans to support this as it isn't required for the scaling use case and practically the current proofs are used as sufficiently hiding for cases where privacy is desirable (but doesn't have to be cryptographically provable). If you have sufficient understanding of the protocol and what needs to be done to achieve ZK on Stone, you could attempt to contribute. It is a delicate task though, and as I mentioned above, it could also affect performance somewhat due to the increase in trace size.


Repeated use of status() turns off light

The light connected to my device starts in the ON (True) state.. I run the following python script:
import pytuya, time

old_state=[False, False, False]
SmartLife=["", "", ""]
SmartLife[1] = pytuya.OutletDevice('02200270ecfabc8e2ff0', '<IP_ADDRESS>', 'ceb9acd336c853f2')
SmartLife[2] = pytuya.OutletDevice('04200086b4e62d121b87', '<IP_ADDRESS>', '3e637e09ea909522') #Desk Lamp

device_set={2}
for i in device_set:
    data = SmartLife[i].status()
    old_state[i] = data['dps']['1']
    print ("*** Polling started " + time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime())
        + " " + str(i) + " " + str(old_state[i]) )

while True:
    for i in device_set:
        data = SmartLife[i].status()
        state = data['dps']['1']
        if (state != old_state[i]):
            print time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime()) + " State has changed to " + str(i) + " " + str(state)
            old_state[i]=state
        time.sleep(0.5)

The resulting console output:
*** Polling started Thu, 28 Jun 2018 10:18:46 2 True
Thu, 28 Jun 2018 10:48:33 State has changed to 2 False
There are no timers on the device. Nor is there user intervention. The light turns off by itself. This is repeatable (and an eventuality) on multiple but not all devices.
Thoughts?

The script in the email doesn't appear to touch the device, so its not
clear how the device is originally being turned on.  I did find that if the
timer DP is set to 0 during a state change, that the unit does then turn
the light back off.  E.g. don't send dp1 to TRUE and dp2 to 0 on a typical
timer outlet or that creates a 'on and immediate off'.  Its best to not
touch the timer DP at all unless you want any sort of timer involved.  Is
it possible some other code is setting the timer DP to 0?
On Thu, Jun 28, 2018 at 8:04 AM, law1964<EMAIL_ADDRESS>wrote:

The light connected to my device starts in the ON (True) state.. I run the
following python script:
import pytuya, time
old_state=[False, False, False]
SmartLife=["", "", ""]
SmartLife[1] = pytuya.OutletDevice('02200270ecfabc8e2ff0',
'<IP_ADDRESS>', 'ceb9acd336c853f2')
SmartLife[2] = pytuya.OutletDevice('04200086b4e62d121b87',
'<IP_ADDRESS>', '3e637e09ea909522') #Desk Lamp
device_set={2}
for i in device_set:
data = SmartLife[i].status()
old_state[i] = data['dps']['1']
print ("*** Polling started " + time.strftime("%a, %d %b %Y %H:%M:%S",
time.localtime())

" " + str(i) + " " + str(old_state[i]) )

while True:
for i in device_set:
data = SmartLife[i].status()
state = data['dps']['1']
if (state != old_state[i]):
print time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime()) + " State
has changed to " + str(i) + " " + str(state)
old_state[i]=state
time.sleep(0.5)
The resulting console output:
*** Polling started Thu, 28 Jun 2018 10:18:46 2 True
Thu, 28 Jun 2018 10:48:33 State has changed to 2 False
There are no timers on the device. Nor is there user intervention. The
light turns off by itself. This is repeatable (and an eventuality) on
multiple but not all devices.
Thoughts?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/clach04/python-tuya/issues/29, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADLj6IIA_peF3thMcV0mOZipPj-GCl7tks5uBPBqgaJpZM4U7j5P
.

The device is in an ON state before the script is executed.
I don't know how to answer your question because I don't know what a timer DP is.  Please elaborate.
As far as I know, no other device affecting processes are running  and nobody else touches the device except me.

Many of the outlets have a switch (binary DP) and a timer (countdown DP).
Setting binary to TRUE turns on the outlet.  Setting the countdown turns
the item back off after that many seconds.  I noticed that if you set the
outlet to ON (true) with a countdown of 0 it doesn't treat 0 as 'no
countdown' but rather turns the light right back off.  So I was curious how
the outlet was getting turned on in the first place, and if it was code, if
that code set the countdown to 0 thinking that meant 'no countdown'...
On Thu, Jun 28, 2018 at 10:20 AM, law1964<EMAIL_ADDRESS>wrote:

The device is in an ON state before the script is executed.
I don't know how to answer your question because I don't know what a timer
DP is. Please elaborate.
As far as I know, no other device affecting processes are running and
nobody else touches the device except me.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/clach04/python-tuya/issues/29#issuecomment-401110291,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADLj6A7hdCMxdIV76HoOZFD6i1J7XDTBks5uBRBggaJpZM4U7j5P
.

Thanks for the explanation.
I used Alexa to turn on the light by saying "Alexa, turn on Desk Lamp" in the first place. Alexa would not set a countdown DP value.

@law1964  as @BillSobel said this sounds more like a timer (or another device). Like you I'm using Alex (with a skill using the cloud API, I'm not using a HA skill) and I'm not seeing this, I just tried you test code and I'm not seeing this.
Thoughts;

how many iterations/secs does it take for this to happen for you?
can you dump data['dps'] in your script before the if? If a timer is set, element 2 will be non-zero - this number does NOT change until the timer expires - or at least that's what I see with my devices ;-) - this would at least help prove/disprove the timer theory

I see that you changed the Alexa to the masculine form. I hope the operation went smoothly. :)
The following is the relevant portions of the data dump:
*** Polling started Fri, 29 Jun 2018 07:55:03 2 True
{u'1': True}
{u'1': True}
{u'1': True}
{u'1': True}
.
.
{u'1': True}
{u'1': True}
{u'1': True}
{u'1': True}
{u'1': False}
Fri, 29 Jun 2018 07:59:18 State has changed to 2 False
counter = 456
{u'1': False}
{u'1': False}
It took 456 iterations this time, but it varies.  The print data['dps'] right before the if statement in the script shows that there is only one element.
It just twigged that dps could stand for "double pole switch". I was wondering what the acronym stood for...
I'm also wondering whether something is making the device reset. That would explain why it changes to False (OFF) and never to True (ON) while the program is running. I have also noticed that there is a small delay (a few seconds) before I get the message that the state has changed. Is there any way that I can test this?

I ran the test program a second time. It took longer the time for the light to turn off, about 27 minutes and 2963 iterations. There is definitely a delay between when the light turns off and when the program detects the change (see sample points in bold). At most, the delay should only be a second.
*** Polling started Fri, 29 Jun 2018 08:27:50 2 True
Fri, 29 Jun 2018 08:27:50
{u'1': True}
Fri, 29 Jun 2018 08:27:51
{u'1': True}
.
.
Fri, 29 Jun 2018 08:54:43
{u'1': True}
Fri, 29 Jun 2018 08:54:43
{u'1': True}
Fri, 29 Jun 2018 08:54:44
{u'1': True}
Fri, 29 Jun 2018 08:54:52
{u'1': False}
Fri, 29 Jun 2018 08:54:52 State has changed to 2 False
counter = 2963

I have two plugs impacted by this issue. They blink on and off by themselves several times an hour. I use pytuya via tuya-homeassistant. The impacted plugs are https://www.amazon.com/EPICKA-WiFi-Smart-Plug-2-Pack/dp/B076HKHSSX/ "EPICKA WiFi Smart Plug Mini (2-Pack) - Wireless Smart Plug Socket Outlet, Compatible with Amazon Alexa and Google Assistant, No Hub Required, Remote Control Your Devices from Anywhere". These are marked with model WP1000 model: SM-PW702 FCCID:2AJ5F. I have many other tuya plugs with different brands that work just fine, it's just that one model having the issue for me. I started using https://github.com/tixi/python-tuya-experimental earlier this week and have had issues since. Seems that persistent connections makes the issue go away.

Issue still persists it appears


Support for prepared statements and placeholders

The current way of passing untrusted user input is via manually escaping and then forming the sql query with the escaped values.
This is prone to human error and could result in sql injection attacks being possible.
The ideal situation would be to add support for prepared statements using placeholders. Is there any technical limitation of the nginx engine preventing this?

@nvx There is no technical limitations on the nginx side except the lack of tagging support in the standard ngx_http_upstream_keepalive module (where we need to tag in-pool connections with their prepared statements). Well, patches welcome :)

@nvx Oh, please ignore the ngx_http_upstream_keepalive_module part in my previous comment. The ngx_postgres module implements its own connection pool anyway. So there's no issues here.

Ah interesting point. My comment on technical limitation was actually thinking on the configuration side if the nginx config parser was able to cope with vararg-like statements. I haven't done any work with nginx plugins themselves before, so wondered if that was a blocker to implementing this.

@nvx Yes, nginx directives can accept an variable number of arguments. This is not a problem. I just hope that the user does not have to prepare the same statement upon every request if the Pg connection is reused. That is, we just have to prepare the statement once for every single Pg connection. So tagging connections in pool somehow is important for such stateful treatment.


Update hostname-resolution.md

What does this PR do?
Updates with windows-specific information
Motivation
attempt to make clear the differences in behavior between windows & other platforms

(also, for the windows section, I think we should also highlight that, if the warning log line is present, switching the flag to true will change the host the Agent reports as. Obvious to us but may not be to users)


Resolve deprecated warnings

Problem Statement
We receive multiple warnings when preforming the pytest tests. Those, especially the deprecated warnings, should be fixed.
Expected Behavior
No more warnings.
Tasks

[x] Fix Warnings

Remaining warnings are part of qiskit and cannot be fixed by us


Handle workspace reservation when workspace size is zero

Return nullptr when workspace size is zero+modify insert method to accept const lvalue ref

Added memory manager unit test


Bloom version seems to be quite old

Looking at the CI build log I see:
This version of bloom is '0.10.7', but the newest available version is '0.11.2'. Please update.
On my jammy machine it shows:
python3-bloom/jammy,now 0.11.2-100 all [installed,auto-removable]
It should probably be installed via pip instead of via dated ubuntu repos?

Bloom runs on the host VM which is Ubuntu 22.04 that contains bloom 0.10.7. Is there a specific reason you ask for a new version?
Looking at the diff: https://github.com/ros-infrastructure/bloom/compare/0.10.7...0.11.2 I don't really see a reason (except https://github.com/ros-infrastructure/bloom/pull/661 maybe).

Is there a specific reason you ask for a new version?

Not really no, just consistency with a standard install.

There is always new software. The reason for having distributions like Ubuntu is to have a secure source of a known working version.

I made a mistake mentioning pip, my proposed solution was adding the ROS2 apt repo first before installing.
After adding ROS2 apt repo you will find python3-bloom and friends will want to be upgraded with the stable versions used elsewhere in the ROS2 ecosystem.
While I haven't had issues with bloom (as we run a patched version) I have with rosdep and its dependencies (rospkg etc) needing to be updated due to some breaking issue.

Can you be more specific with your issue? A link to a log would be great.


Add NameConstraint with relaxed name loading

This PR introduces the names property to both cubes and coordinates - a property that returns a tuple of the standard_name, long_name, var_name and STASH.
This property is needed as a means to support more flexible name loading i.e., a iris._constraints.Constraint._coordless_match that will succeed for a match on either of the names property values, rather than depending on the behaviour of the iris._cube_coord_common.CFVariableMixin.name method. Note that, this also applies to iris.cube.Cube.extract and iris.cube.CubeList.extract et al.
This PR also introduces the iris.NameConstraint for more specific control of names related matching.

Closes #3407

Requires a whatsnew entry...

I haven't time to look at this in detail yet.
But I want to say right away that I'm strongly opposed to the specific support for the STASH attribute.
Not just because it is format-specific, which seems pretty questionable anyway, but also because supporting UM files as a special case is highly MetOffice-centric, which I think is unhelpful to the project as a whole.
I recently proposed a similar load/save control attribute for GRIB : https://github.com/SciTools/iris-grib/pull/156.  So, if should that be added here  too ?  I really don't think so.

format-specific, which seems pretty questionable anyway

I was thinking that, but then I remembered that so is var_name....

@pp-mo This isn't anything new. This PR is just highlighting the existing behaviour of iris that was previously implicit i.e., the iris._cube_coord_common.CFVariableMixin.name method will return the STASH if the cube doesn't have a standard_name, long_name or var_name. Therefore you can filter on STASH for loading and extracting:
>>> print(cube)
air_temperature / (K)               (latitude: 73; longitude: 96)
     Dimension coordinates:
          latitude                           x              -
          longitude                          -              x
     Scalar coordinates:
          forecast_period: 6477 hours, bound=(-28083.0, 6477.0) hours
          forecast_reference_time: 1998-03-01 03:00:00
          pressure: 1000.0 hPa
          time: 1998-12-01 00:00:00, bound=(1994-12-01 00:00:00, 1998-12-01 00:00:00)
     Attributes:
          STASH: m01s16i203
          source: Data from Met Office Unified Model
     Cell methods:
          mean within years: time
          mean over years: time
>>> cube.standard_name = None
>>> cube.extract('m01s16i203')
<iris 'Cube' of m01s16i203 / (K) (latitude: 73; longitude: 96)>

So you seem to be opposed to something that already exists. I'm not sure how that can be addressed here in this PR?

As it stands, I don't think the iris.NameConstraint is able to precisely emulate the past behaviour of _coordless_match in constraints. Comparing against any one of standard_name, long_name, var_name or STASH is not the same as comparing against cube.name(). Would it make sense to add name to names or to compare against it in iris.NameConstraint?

@stephenworsley The iris.NameConstraint is not emulating any past behaviour, it's new behaviour.
 I'm not quite sure how that can be addressed here in this PR?

Well, I didn't actually know that !

As for changing behaviour, you are certainly doing that anyway.  Isn't that exactly why we're doing this now??

format-specific, which seems pretty questionable anyway

I was thinking that, but then I remembered that so is var_name....

I'm not too convinced by that.  var_name is a part of the Iris data model, following CF, not just a product of the format loader :   Any other file-format loader could set it, if that was appropriate.

@bjlittle I was considering the acceptance criteria of #3407, specifically:

Include an example of how to load a cube in a manner that replicates the current behaviour, so users can easily retain our original functionality should they needed to.

Is this backwards compatibility being addressed? I would have thought there would still need to be some way to compare against Cube.name() using a Constraint in order to be fully backwards compatible. There doesn't seem to be anywhere in iris._constraints which calls Cube.name() any more.
(On a related note, this line in the docstring probably needs changing too).

@stephenworsley We don't need to be fully backwards compatible, regardless of the demands of #3407, hence the major release. This PR is addressing several use cases, not just #3407.
Given the relaxed load/extract behaviour of this PR my expectation is that most users will see no change in behaviour. It'll just work. For those that find the relaxed behaviour results in additional cubes being returned, then iris.NameConstraint is their new best friend. It seems a very reasonable compromise to me.

@bjlittle Have you considered extracting cubes with no names whos name() is 'unknown'? Its not unreasonable to imagine a situation where you might even expect some cubes to have no names and some to have the name unknown and to want to treat those two cases similarly. It may well be possible to get the same results using NameConstraint, but probably not as elegantly as with the current behaviour.

I'm going to add a convenience to NameConstraint where it will be possible to use positional arguments or/and keyword arguments e.g., where the following constraints are all equivalent:
NameConstraint(standard_name='air_temperature', long_name='air temp')
NameConstraint('air_temperature', 'air temp')
NameConstraint('air_temperature', long_name='air temp')

etc... as I can imaging users typically performing a NameConstraint(None, 'air temp') type of constraint.

@lbdreyer I'm now satisfied with this PR. It meets a thorny brief in an area of iris that I would consider heavy with technical debt, and a slightly dubious/not-fully-considered strategy for name constraint matching.
The changes in this PR provide the user with more explicit and flexible control to load and extract cubes.
On reflection, we have been relying on a very weak contract to identify cubes through the iris.cube.Cube.name() method. A richer form of this is the iris.cube.Cube.names property, which comes closer to identifying a cube through metadata - it's not perfect, but it's certainly better. The iris.NameConstraint embodies this within the context of our constraints framework.
Anyways, over to you. I'm bias, but I'd vote for banking this PR, moving forward, and supplement it with further documentation and/or doc-strings if you deem that further clarity is required.

I hope you don't mind me butting in here?

The changes in this PR provide the user with more explicit and flexible control to load and extract cubes.

We could certainly use it with our work using UGrid data to tidy up and remove a few lambda functions for discriminating between cubes with identical standard names but different long names.  It's not essential, but it would be convenient.

Regarding this comment:

So either we honour this relationship, or we remove the use of STASH from both the names property and the name method. If we did, then that would be a breaking change for the API, rather than an additive change.

This is exactly why I think we need to be careful with what change we make! Iris 3 is a major release so we can make breaking changes, but will have to wait for Iris 4 to fix any bad behaviour we introduce. I think the inclusion is of STASH in name, when it was originally done, was incorrect, and would like to take the opportunity of Iris 3 to change it.
I am completely in support of using names to match against any of standard_name, long_name and var_name. My issue solely lies with STASH. However, if we were to simply remove it we would lose the benefit of being able to identify a cube by its stash code, if it doesn't have a standard_name, long_name or var_name, which would result in many unknown` cubes.
@pp-mo and I just had a chat about this and agreed on a new approach (credit to @pp-mo for the original idea!). How about we modify the pp loader such that if it produces a cube without a standard_name, long_name and var_name, it creates a new long_name from the stash code as part of the load. Then when we call cube.name() it will only check standard_name, long_name or var_name and as the cube now has a long_name it returns that.
This approach removes the STASH check from name and pushes the fileformat specific handling down to the pp loader. Similarly this could be done with the GRIB loader (ref: @pp-mo's PR ) where if there is no cube name, it creates a long name from the GRIB coding attributes.
What do you think @bjlittle  ?

@lbdreyer and @pp-mo Cool. I think we're all tending towards agreement 😄
I also think that STASH shouldn't be part of the name constraints. It's been there for a long time but I consider it a mistake to have included it. I'm not apportioning blame here, it's just now we have the luxury of hindsight.
I agree that now is the time to address this all for 3.0.0. By tidying up  STASH we're recommending that users opt for an AttributeConstraint or a cube_func - that seems reasonable to me and as good a compromise that can be had ATM. Both these approaches are deterministic.
In term of moving forwards, I'd recommend we bank this PR "as is" and push a separate PR to remove the STASH support from the name constraints.

I think we need to carefully consider the proposed approach of injecting MSI into the longname for PP - particularly when it comes to round tripping. Also this new approach isn't deterministic - it all depends on the metadata.
Worth considering though :+1:

After a looooooong converstation, pinging this to @pp-mo for review... :stuck_out_tongue_winking_eye:

Just saying.. 😇
On careful review,
what I'd really like is to fix this + make it more general

cube.names() is a thing in its own right.
it has a mapping structure {role: name}, so we know what the entries are

(that is, instead of fixed, named properties)

it has an ordering, which equates to priority order for "name()".

so the standard Constraint(name) can just test name in cube.names.values()

Format loaders can add additional "names" to it

e.g.UM file loaders now create cube.names['STASH'] = x
other formats (GRIB + ...) can do something similar

the keys 'standard_name' and 'long_name' are always present.  Others are optional.

The principal idea is to generalise the concept, but not hard-wire any format-specific content.
Does anyone get this + like the idea ??
But...
having tried this, I realise it would mean that the existing STASH representation would have to change from a entry in cube.attributes to one in cube.names.
That's perfectly do-able in our code,
but it would also mean users rewriting a lot of existing code .
😨 😟
I don't think we can justify such a breaking change at the present time, with the hurry to drop Python2 and get everyone using Iris 3.
So I now think this current approach is, after all, the best of a bad job.
I intend to make a few more scans of this and, subject to a few minor suggestions, merge.
Just so's you all know ... 😉

Just to be crystal clear, the specific + only thing I really don't like about this (+ I expect @lbdreyer will agree) is that it introduces cube.names.STASH as a supported API.
( + I don't even like the capitals !! )
If we want to remove that later, it will mean deprecation + all that malarkey ...
So be it, I guess.

Thanks @bjlittle.
Over to you :tennis:

@pp-mo Serviced requested review actions or commented on why not.
Back to you 👍

Nice, definitely improved.
Thanks @bjlittle, back to you again.
Just a couple of outstanding queries.  And one brand new one...
Well, we must be close ! :crossed_fingers:

@pp-mo Okay, this PR is nearing saturation point for discovering what new actions you want me to take...there is a lot of noise.
Okay, I've tackled a couple of the issues that you raised. If you've raised more and I've not addressed them, then that's simply because I can't find them, sorry.
BTW I've just nuke the additonal note in the doc-string - I really don't think it's necessary.
Please let me know if there is more outstanding actions to perform or if I'm missed something, thanks!

@pp-mo Sweet 🎉
Thanks for perservering... above and beyond! 👏


[GLUTEN-6111][CH]Fix core problem of get_json_object

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #6111)
How was this patch tested?
test by ut

出现core的问题原因是：一条异常的json 以 “{” 开头，因此在data2.txt文件加入了一条类似的数据，用于测试get_json_object 的UT是否能够正常跑过


Fix alignment of lim_lut and refmvs_block (#115)

If it's the type that's being aligned everywhere we use it, we could just put a #[repr(align(16))] on the type and not need to update it everywhere.

A lot of duplicate changes are the result of Dav1dFrameContext_lf being defined in multiple files. If Dav1dFrameContext_lf were to be defined only once, then there wouldn't be a need to make multiple changes. For now, it may be better to have alignment directives closely match what is done in the original C code to make auditing (see #122) of such directives easier.

@fbossen Looks like there's a merge conflict on this now. Can you resolve that? I can merge this once you do.

A lot of duplicate changes are the result of Dav1dFrameContext_lf being defined in multiple files. If Dav1dFrameContext_lf were to be defined only once, then there wouldn't be a need to make multiple changes. For now, it may be better to have alignment directives closely match what is done in the original C code to make auditing (see #122) of such directives easier.

Ah, sorry, I didn't realize it's because the containing type wasn't deduplicated yet.  You're right then.


Rename scan to node.

Changes the naming from "scan" to "node" in the pose graph.
AddNode() adds a new node to the graph which might contain
data from multiple range sensors and not necessarily one scan.
Configuration and documentation changes might follow in a
separate PR.
Related to #280.

@wally-the-cartographer merge

Merge requested by authorized user SirVer. Merge queue now has a length of 1.


az extension add fail / WSL2 / Ubuntu 20.04

Describe the bug*
az extension add fails
When installing the extension for azure-firewall I run the cmd az extension add -n azure-firewall and get a failure message
An error occurred. Pip failed with status code 1. Use --debug for more information.
I re-ran the cmd with --debug and receive an error, which has pertinent information snipped below
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
Command '['/opt/az/bin/python3', '-m', 'pip', 'install', '--target', '/home/john/.azure/cliextensions/azure-firewall', '/tmp/tmpjwtv5til/azure_firewall-0.5.0-py2.py3-none-any.whl', '-vv', '--disable-pip-version-check', '--no-cache-dir']' returned non-zero exit status 1.
Pip failed so deleting anything we might have installed at /home/john/.azure/cliextensions/azure-firewall
cli.azure.cli.core.util : An error occurred. Pip failed with status code 1. Use --debug for more information.
An error occurred. Pip failed with status code 1. Use --debug for more information.
Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x7f7a3f91cea0>]
az_command_data_logger : exit code: 1
Command ran in 2.511 seconds (init: 0.116, invoke: 2.394)

To Reproduce
attempt to add extension azure-firewall to cli
run command az extension add -n azure-firewall
Expected behavior
azure-firewall extension should install and return
The installed extension 'azure-firewall' is in preview.
Environment summary
Linux-4.19.104-microsoft-standard-x86_64-with-debian-bullseye-sid
Python 3.6.10
Installer: DEB

azure-cli 2.10.1

Additional context
I was able to run the install cmd to get az cli installed without issues on a clean 20.04 WSL image
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

installing

@haroldrandom  or @fengzhou-msft, could you have take a look?

HI @johnwildes, Sorry I couldn't reprod your situation. It worked for me. If that's case, could you give it a try for Azure CLI 2.11.0?

@haroldrandom Recently updated to az cli 2.11.1 condition is the same.

@johnwildes Could you post the log trying to install azure-firewall via raw command pip install https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.0-py2.py3-none-any.whl in this environment?
BTW, Have you installed another older Azure CLI via MSI ? If so, try to remove it first.

@haroldrandom I ran the cmd you posted above and attached is the output.  It worked successfully. The AZCLI isn't installed via MSI, I ran the curl script within WSL to install it.
Collecting azure-firewall==0.6.0 from https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.0-py2.py3-none-any.whl
  Downloading https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.0-py2.py3-none-any.whl (574kB)
     |████████████████████████████████| 583kB 592kB/s
Installing collected packages: azure-firewall
Successfully installed azure-firewall-0.6.0
 base  john  10M-PS-9330  ~  $ ```

I'm trying az network firewall cli commands and they aren't working.  I've restarted the WSL environment, and I've authenticated to azure again.  Not sure that last part matters.

@johnwildes From the original log you posted, I noticed that there is an error ImportError: libffi.so.6: cannot open shared object file: No such file or directory reporting.
There are some related issues like you said you could refer to https://github.com/Azure/azure-cli-extensions/issues/65. You might get some ideas from there.
As for The AZCLI isn't installed via MSI, I ran the curl script within WSL to install it., I don't mean the way you install Azure CLI but I suspect you might install another Azure CLI in your host machine which is Windows, becasue we find the existing older MSI installed CLI might effect the CLI in WSL.

@haroldrandom thanks for the info.  WRT the MSI installed AZ CLI, there is none.  I only use CLI in WSL.  I'm just going to destroy this image and start over again.  Thanks.


feat(design-system): Add Desing System Message and Progress Bar components

EX-4904
This PR adds the new Design System Components Message and Progress Bar. It adds to the Desing System View and also to the Layout view.
It also adds some extra values to size tokens, necessary to set the default width to the Progress bar.

Seems some tests are failing. Please check it

Fixed


HOST variable inside .env buggy on linux

Describe the bug
I cloned a cra project onto a fresh linux install in which the .env HOST variable is set to smth like dev.myapp.local
When I run npm start I get all the expected messages like attempting to bind HOST variable to xxx and afterwards Compiled successfully you can now view project in the browser under xxx.
So even though these messages seem to be fine, I can't actually access my project whatsoever (not even under localhost).
What I can do as a simple workaround is to remove the custom HOST and then access the project correctly. I also noticed once I remove the custom HOST, it opens the proejct automatically which didn't happen before.
I added the dev.myapp.local to my hosts file, so thats not the problem. And the exact same project runs fine on windows/macos.
Environment

Environment Info:

  current version of create-react-app: 4.0.3
  running from /home/xxx/.npm/_npx/xxxx/node_modules/create-react-app

  System:
    OS: Linux 5.11 Pop!_OS 20.10
    CPU: (8) x64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
  Binaries:
    Node: 15.8.0 - ~/.nvm/versions/node/v15.8.0/bin/node
    Yarn: Not Found
    npm: 7.5.1 - ~/.nvm/versions/node/v15.8.0/bin/npm
  Browsers:
    Chrome: 90.0.4430.93
    Firefox: 88.0
  npmPackages:
    react: Not Found
    react-dom: Not Found
    react-scripts: Not Found
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce

(Write your steps here:)

Fresh install of linux (I run PopOS)
Initialize new CRA (Our project is based on the TS template)
Add .env and change the HOST variable

Expected behavior
The browser tab should automatically open the custom HOST URL after starting the project and of course then load the application.
Actual behavior
Nothing happens, the terminal shows no errors.

Funny enough, right after posting this and trying again (after running some other project set-up steps unrelated to node/npm), the issue seems to have disappeared :) 🙄


[Site] Improve legibility of Answers test in FAQs

Current State of the GetNighthawk.dev site
The FAQs answers are a bit light and difficult to read on the white background.
Desired State of the GetNighthawk.dev site
Ideally, this text is slightly larger and slightly darker.

Contributor Resources

See the Contributing to getnighthawk.dev Website
See the Project Site section of GetNighthawk project doc

@leecalcote Can i work on this issue?

That would be great, @NikhilSharma03 👍


Microbenchmarks flaky; "Null check operator used on a null value"

When I run the venerable stocks/build_bench.dart microbenchmark, it sometimes prints an error with a stack trace. On my Pixel 8, I tried it in a loop just now and it happened on the 8th try; so the failure rate seems like something in the neighborhood of 10-15%.
I noticed this because I was getting a similar error while developing the new benchmarks I just sent as #150539. I debugged a little and it didn't seem related to anything specific to my code, so I was curious whether an existing benchmark had the same symptom. Turns out it does.
I don't know how many different benchmarks are affected. I picked stocks/build_bench.dart because it seemed the most similar to what I was doing; in particular it's one of three that use WidgetTester.pumpBenchmark.
Curiously it does still print results. The results are even consistent with the results I saw on non-error runs.
Full output:
$ time flutter run --release lib/stocks/build_bench.dart
Launching lib/stocks/build_bench.dart on Pixel 8 in release mode...
Warning: unable to detect project KGP version. Skipping version checking.
This may be because you have applied KGP after the Flutter Gradle Plugin.
Running Gradle task 'assembleRelease'...                         1,172ms
✓ Built build/app/outputs/flutter-apk/app-release.apk (35.3MB)

Flutter run key commands.
h List all available interactive commands.
c Clear the screen
q Quit (terminate the application on the device).
I/flutter (10573): (The following exception is now available via WidgetTester.takeException:)
I/flutter (10573): Null check operator used on a null value
I/flutter (10573): #0      WidgetTester.pumpBenchmark (package:flutter_test/src/widget_tester.dart:688)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #1      runBuildBenchmark.<anonymous closure> (package:microbenchmarks/stocks/build_bench.dart:48)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #2      benchmarkWidgets.<anonymous closure> (package:flutter_test/src/widget_tester.dart:451)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #3      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1025)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #4      TestWidgetsFlutterBinding._createTestCompletionHandler.<anonymous closure> (package:flutter_test/src/binding.dart:817)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
I/flutter (10573): Null check operator used on a null value
I/flutter (10573): #0      WidgetTester.pumpBenchmark (package:flutter_test/src/widget_tester.dart:688)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #1      runBuildBenchmark.<anonymous closure> (package:microbenchmarks/stocks/build_bench.dart:48)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #2      benchmarkWidgets.<anonymous closure> (package:flutter_test/src/widget_tester.dart:451)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #3      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1025)
I/flutter (10573): <asynchronous suspension>
I/flutter (10573): #4      TestWidgetsFlutterBinding._createTestCompletionHandler.<anonymous closure> (package:flutter_test/src/binding.dart:817)
I/flutter (10573): <asynchronous suspension>
E/flutter (10573): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Test failed. See exception logs above.
E/flutter (10573):
I/flutter (10573): ================ RESULTS ================
I/flutter (10573): :::JSON::: {"stock_build_iteration":535.2731213872833,"stock_build_iteration_probability_5pct":0.034504185823212435}
I/flutter (10573): ================ FORMATTED ==============
I/flutter (10573): Stock build: 535.3 µs per iteration
I/flutter (10573): Stock build - probability margin of error 0.05: 0.0 percent

Application finished.

time: 17.312s wall (2.835s u, 0.461s s)

@goderbauer FYI this looks to be the same symptom that appeared in your new const_vs_non_const_bench benchmark recently, at #148845. Here it is a long pre-existing benchmark (the file hasn't been touched since d98297a2f / #101444, in 2022).
Perhaps it has the same cause. If so, it might have been introduced by some regression elsewhere, unrelated to adding a new benchmark.
In that thread, the flake seemed to be happening only on iOS and not on Android. But my testing where I saw the same symptom was on Android. I'm not sure what to make of that; one possibility is that the factors causing the flake to trigger are hardware-dependent, and are present on my Pixel device and on iOS devices in the devicelab but not on Android devices in the devicelab.


sorting

Any reason why get_similar_vector sorts by score prior to returning the list while get_scores_vector doesn't?

Sorry, forgot to respond - scores() is a map function, meaning the output will be the same size and order as the input. I found this kept the usage of it very general, and tended to work well with the use-cases I was running into.


[proxy] pulsar-proxy Caught Connection refused error

Describe the bug
If i produce message for a while, it caught connection refused error

And then i rebuilt proxy pod by delete pulsar-proxy-0/1/2, the refused error will disappear.
Version
2.5.2 deployed by k8s helm
To Reproduce
Steps to reproduce the behavior:

kubectl exec -it statefulset/pulsar-toolset
execute './bin/pulsar-perf produce fl-tenant/fl-namespace/tt   --rate 10000 -s 5120000 -z LZ4'

Expected behavior
If i produce message in pulsar-broker by  pulsar-perf, it works fine.
it caught connection refused error if using pulsar-proxy in pulsar-toolset.

@dockerzhang was the proxy restarted during your test?

@sijie yes, the proxy restarted during test.
I check the log  exited of proxy container, it's exited for OOM error.

I increased 2G to 8G and test again, test recovered.
Thanks @sijie , this issue can close now.