Add arithmetic host functions for i128 and u128

What problem does your feature solve?
Developers who do not use the Rust SDK must implement arithmetic functions like add, sub, mul, <, > etc. for i128 and u128 themselves. This is difficult, error prone, and unnecessary since the data ends up back in the host anyway. It would be great if these functions are offered as host functions.
What would you like to see?
Arithmetic functions as they were offered before for bigint.
What alternatives are there?

We didn't do this in our first pass with {iu}128 because at the moment at least all developers are using Rust and {iu}128 are widely available in the guest, and when we profiled arithmetic on the host vs. guest, it seemed like it was actually faster to stay on the guest in these cases -- a u128 add is less work than making a host function call. But it's kinda "on the line" and I can see the point that some users might prefer to have the host do them (and this might apply even more firmly when we add {iu}256) so .. this seems reasonable to pursue, if perhaps not the highest current priority.

Thanks for the quick reply and for considering this request.
From my perspective it is like this: I am implementing it with AssemblyScript.
For example, I want to add two i28 values: c = ( a + b) (e.g. incr_allow in a token contract).
What do I have to do for this?
1. load a.lo from host (1st function call)
2. load a.hi from host (2nd function call)
3. load b.lo from host (3rd function call)
4. load b.hi from host (4th function call)
5. now I have four u64 values - so I have to implement a custom logic that adds them correctly
6. write the result back to the host (5th function call)

If I could do it in the host in comparison, it would be just one host function call (add) and I do not have to worry about implementing a custom logic to add them on the guest.
So, in my opinion, it depends a lot on the use case.  Therefore, being able to choose depending on the use case would be very valuable in my opinion.

The "custom logic" is built into rust -- i128 is a standard type -- so you need not do anything for 5.
While you're right that for a single arithmetic operation in isolation the cost of transfering to guest and transferring back is larger than the savings. But what I'm saying is that if you do much more than a single operation -- if you do say a couple compares or a few adds, multiplies or subtracts -- it's cheaper to do guest-side and bracket the guest operations with loads and stores to the host.
I'm not 100% opposed to adding functions here (there's space to do it) but .. we can certainly survive without for a first version, and I think the only cases where it's a win are so small (single-op cases) that in a real contract you won't notice either way. Unless you have dozens or hundreds of contract functions that all do exactly one arithmetic op.

If I understood it correctly, the reason for this request is that you are trying build a WASM contract with AssemblyScript, or build the AssemblyScript SDK, and there is no native support for i128 in AS.
Given relative narrow use case of AS (and the broader use case of supporting other SDK types) we will move this to post lunch in order to better focus on the Rust and soroban-sdk use cases.

@christian-rogobete can you use a 3rd party library like as-bignum to do arithmetics guest side?

have the host do them (and this might apply even more firmly when we add {iu}256)

If we're building a system that is intended to support a variety of languages building for WASM, then I think we should probably lean towards adding host functions.
And given that Rust itself doesn't have {iu}256 types, and yet we provide those types, it feels even more like we should do this for both types for consistency.
This will probably be important for folks who are building contracts that interact with ETH and the ETH ABI.

One of the troubles with the arithmetics host functions is there are too many of them. For i128 alone there are a few dozen unique methods (deduping checked_, unchecked_, overflowing_ version of the same operation). Plus the unsigned u128, the "interop" ones (operations between different number types). This can easily expand the total number of host functions several fold if we don't pick and choose. This could result in higher VmInstantiation cost which is already an issue.
That's the reason for {U,I}256 we've only implemented a few "basic building blocks" and leaving the rest for contract developers to handle on the guest side.
@christian-rogobete I'm curious from your perspective, what would be the minimum required set (and what would be nice-to-have set) of functions for AS support? Also it would be nice to know what causes the Vm(instantation) error you mentioned, or any other blockers so we could potentially address them.

This could result in higher VmInstantiation cost which is already an issue.

Does this result in a higher vm instantiation cost for all contracts, or just contracts that import (use) those specific host functions? I expect the latter.

This could result in higher VmInstantiation cost which is already an issue.

Does this result in a higher vm instantiation cost for all contracts, or just contracts that import (use) those specific host functions? I expect the latter. If it's the latter that doesn't seem like a problem.

From what I can tell the linker needs to go through all the host functions and define them for the wasmi module.
https://github.com/stellar/rs-soroban-env/blob/main/soroban-env-host/src/vm.rs#L171-L178

@jayz22, from my perspective, the ones that were offered earlier for bignum make sense. See here:
bignum host functions
Furthermore I think that muldiv, where there is no overflow in the multiplication part would be great. It is used in the liquidity pool contract example.
// Calculate multiply and division as `number * numerator / denominator` without overflow in multiplication part.
static muldiv(number: u128, numerator: u128, denominator: u128): u128

Another one be would be mulsqrt.
As for the VM(instantiation) issues, I have now found a solution for most cases. The as-bignum implementation throws exceptions/errors in some places. This causes this import in the wasm code, that triggers VM(instantiation):
// wat representation
 (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))

Such special imports need support from the host environment. See AS special imports.
But this can also be circumvented by implementing a special abort function in the contract. I will describe this method in the documentation and examples of the sdk.
However, there are still problems, especially regarding working with strings, which I can't understand. e.g.
a = u128.muldiv(b,c,d);
let f = a.toString(); //VM(instantiation)

I have documented this before in this issue.
Hope this helps.

Thanks @christian-rogobete, this is definitely helpful!
I'll read up on the special imports and requirements on the host side.
Will take this issue into consideration in our next planning.


Login Page Bug

Expected Behavior
Should be able to log in normally with the correct email and password.
Current Behavior
After clicking the login button with the correct email and password, it sends out an HTTP request and gets a 200 back. But there is no other action anymore, the page still stays on the login page.
If you click the login button again, another request to http://localhost:8081/api/v1/login will be created and still, a 200 is returned.
But a post request to http://localhost:8081/api/v1/token-verify will also be sent, which returns a 404 because the /token-verify API has been deleted  in #495.

It has been fixed in #504


NTR: duration time of insecticide exposure

originally https://github.com/obi-ontology/obi/issues/1096
Label: duration time of insecticide exposure
Definition: A time measurement datum that measures a temporal interval of insecticide exposure.
Parent: IAO_0000416 time measurement datum

Give an ID with same range as other VectorBase requested terms.

EUPATH:0043064

In current release. Closing.


Fix typo in docs

Coverage remained the same at 87.193% when pulling af38e87b584d2edd0f2b6d65a1668b862a1e844b on royaldark:patch-1 into 2a09d8f887b6261aed57f70ceb3496c602db65b2 on Geal:master.

done in 5b0407139c47dd12e


[feature] Add and delete subnets in an existing VPC

why
Need to add and delete subnets to the already created VPC.
working process
1. add to driver interface
2. add to all drivers
3. add to common service function
4. add to REST API and WebAdmin Tool
5. add to gRPC API
6. add to CLI
7. test

1. add to driver interface: Completed
[AS-IS]
type VPCHandler interface {
        CreateVPC(vpcReqInfo VPCReqInfo) (VPCInfo, error)
        ListVPC() ([]*VPCInfo, error)
        GetVPC(vpcIID IID) (VPCInfo, error)
        DeleteVPC(vpcIID IID) (bool, error)
}

[TO-BE]
type VPCHandler interface {
        CreateVPC(vpcReqInfo VPCReqInfo) (VPCInfo, error)
        ListVPC() ([]*VPCInfo, error)
        GetVPC(vpcIID IID) (VPCInfo, error)
        DeleteVPC(vpcIID IID) (bool, error)

        AddSubnet(vpcIID IID, subnetInfo SubnetInfo) (VPCInfo, error)
        RemoveSubnet(vpcIID IID, subnetIID IID) (bool, error)
}

3. add to common service function
4. add to REST API

cf) https://github.com/cloud-barista/cb-spider/issues/277

3. add to common service function
4. add to REST API

cf) https://github.com/cloud-barista/cb-spider/issues/277

4. add to WebAdmin Tool

cf) https://github.com/cloud-barista/cb-spider/pull/326

4. add to WebAdmin Tool

cf) https://github.com/cloud-barista/cb-spider/pull/326

5. add to gRPC API
6. add to CLI

cf) https://github.com/cloud-barista/cb-spider/pull/327

5. add to gRPC API
6. add to CLI

cf) https://github.com/cloud-barista/cb-spider/pull/327

7. test

pass: MockDriver, OpenStack
cf) https://github.com/cloud-barista/cb-spider/pull/327

7. test

pass: MockDriver, OpenStack
cf) https://github.com/cloud-barista/cb-spider/pull/327

7. test

Issued by AWS Test: https://github.com/cloud-barista/cb-spider/issues/330
Fixed by PR: https://github.com/cloud-barista/cb-spider/pull/332
pass: AWS, GCP, Alibaba

@jihoon-seo  ( @seokho-son  @innodreamer @jmleefree )

생성한 VPC에 Subnet 추가 기능 관련하여,
다음 CSP들 부터 사용 시작해보면 되겠습니다.

AWS, GCP, Alibaba, OpenStack, MockDriver

REST API 활용 예시

추가: https://github.com/cloud-barista/cb-spider/blob/b41e8f860f1ab1c8506afbe60f732f7106e304f5/api-runtime/rest-runtime/test/full-test/mock-full_test.sh#L19
삭제: https://github.com/cloud-barista/cb-spider/blob/b41e8f860f1ab1c8506afbe60f732f7106e304f5/api-runtime/rest-runtime/test/full-test/mock-full_test.sh#L88

@jihoon-seo  ( @seokho-son  @innodreamer @jmleefree )

아래와 같이  모든 CSP에 대한 add subnet, delete subnet의 시험을 완료하였습니다.

AWS, GCP, Azure, Alibaba
OpenStack, Cloudit(특이사항: CIDR 설정과 무관하게, CSP 내부에서 유휴 CIDR 할당 후 반납)
MockDriver


Change default dropdown Clear text

Hi!
Can we change or replace 'Clear' text on dropdown filter select according to the values on each column?
Thank you

Hi @nolbyte,
At the moment the same display_all_text option value is applied to all the drop-down filter types, you cannot have a different value per column.
This seems to be a good candidate for a feature request, tagging it as enhancement.
Cheers

Hi @koalyptus
Have you  implement my question on your new update?
Thank you

Hi @nolbyte,
Not yet, it is a nice to have but not yet prioritised as important refactoring tasks in the works.
Cheers


convert 'make run' to use Perl 6

Perhaps a Bailador app (instead of a p5 Mojo App)

Related to #1246

http://mi.cro.services/

Also needed to move the 'make assets' step to Perl 6.

Also need a way to kill the html run process so it can be started again.

Cro is reasonable

I'm not sure why I originally thought this was different than #1246 - Closing this ticket in favor of that.

With the build/run moved/moving outside of this repo, this ticket is obsolete.

With the build/run moved/moving outside of this repo, this ticket is obsolete.

How so? The site became dynamic && implemented in Raku while I was not looking? ~Can I drop efforts to write it then?~

No, simply static and it can use any or no webserver, just the files...
El vie., 24 jul. 2020 20:22, Altai-man<EMAIL_ADDRESS>escribió:

With the build/run moved/moving outside of this repo, this ticket is
obsolete.
How so? The site became dynamic && implemented in Raku while I was not
looking? Can I drop efforts to write it then?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc/issues/1057#issuecomment-663671392, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAD5HM6CP4VYAEIMKOOJDR5HGNHANCNFSM4CZ6IZCA
.

Actually, come to think of it, I still use make run...
El vie., 24 jul. 2020 23:00, JJ Merelo<EMAIL_ADDRESS>escribió:

No, simply static and it can use any or no webserver, just the files...
El vie., 24 jul. 2020 20:22, Altai-man<EMAIL_ADDRESS>escribió:

With the build/run moved/moving outside of this repo, this ticket is
obsolete.
How so? The site became dynamic && implemented in Raku while I was not
looking? Can I drop efforts to write it then?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc/issues/1057#issuecomment-663671392, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAD5HM6CP4VYAEIMKOOJDR5HGNHANCNFSM4CZ6IZCA
.

I mean, how is this ticket obsolete? If there is some other repo where it belongs, it should be transferred.

My mistake, I was under the impression that the code to build the site had been removed from the repo, and that therefore the 'make run' target was obsolete. Re-opened.

It's not totally removed. "make assets", for instance, still works.

Make run has now been removed from the repo, all logic around building and running the site is now part of doc-website


Enable make to apply local changes of model servers, explainer and storage-initializer

What this PR does / why we need it:
In roadmap there's
* Automated Image Injection for Model Servers.
    * Implement new developer commands to deploy kfserving with local images.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #590
Special notes for your reviewer:

Use KO_DOCKER_REPO to push the image
Always use latest as the version
Support only one model sever each time, after apply other model servers will be deleted from configmap.

This change is

@ellis-bigelow @yuzisun , Now just implemented skleanserver, others should be similar. Please take a look at the direction and I will add others later.

Looks good. Might get a bit bulky when you add all images servers, explainers, logger.

Looks good. Might get a bit bulky when you add all images servers, explainers, logger.

For logger it should be handled in PR #573 , for others it seems not reasonable to build/deploy all of them in one time, so seems we must make them separate targets. Any ideas to refine would be appreciated, thanks.

This is ready to go, please take a look. @ellis-bigelow @yuzisun

/retest

/retest

/retest

Thanks @pugangxa ! I will try out this :)
/lgtm
/approve


Help truncated on Node 6.2

… because nodejs/node#6456, I'd wager.
See also: #4990
TypeScript Version: 1.8.10
Code
tsc --help
Expected behavior:
See full help text, ending:
 -w, --watch                         Watch input files.
 @<file>                             Insert command line options and files from a file.

Actual behavior:
See partial help text, ending:
 --init                              Initializes a TypeScript project and creates a tsconfig.json file.
 --jsx KIND                          Specify JSX code generation: 'preserve' or 'reg

I figure the fix will be something along the lines of:
process.stdout._handle.setBlocking(true);
// output help
process.exit(0)

This is a bug in Node 6 on Macs as far as we can tell.

same issue as https://github.com/Microsoft/TypeScript/issues/8793 and almost sure it is caused by nodejs/node#6456 since this code has not changed in a while and it works fine on previous versions of node

Closing as duplicate of #8793 per @mhegazy.


uib-pagination not work in uibModal

i am use uib-pagination in an modal that use uibModal,but the pagination can only show 1,total-items are not work

Need help using UI Bootstrap?

Live help in the IRC (#angularjs channel at the freenode network). Use this webchat or your own IRC client.
Ask a question in StackOverflow under the angular-ui-bootstrap tag.

Please do not create new issues in this repository to ask questions about using UI Bootstrap


TLS, ambassador, cert-manager, and HTTP challenge

Hello all. I'm trying to setup a config with ambassador in Azure.
For now, ambassador is just used as an ingress controller, and that's work fine.
Troubles arrive when I try to setup a TLS config using cert-manager.
I can't used DNS acme-challenge since my TLS domain is the one created for my K8S by Azure (something like myrepo.westeurope.cloudapp.azure.com )
That's why I'm stuck using HTTP challenge resolution.
The problem comes from how cert-manager is working.
One configured, to be able to challenge the domain, cert-manager will dynamically generate a deployment / service / ingress to be able to expose the famous .well-known/acme-challenge/OXiBFblablablalbla url.
Since we don't have any ingress controller installed, the service is not reachable.
Of course I tried to implement my own service, to handle correctly the request, but it doesn't work at all.
(Well today, the urls and name are hardcoded, it's another problem to solve, but for now, it's just fine testing like that)
apiVersion: v1
kind: Service
metadata:
  name: nginx
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v0
      kind:  Mapping
      name:  acme-challenge-mapping
      prefix: /.well-known/acme-challenge/OXiBF7fN601nISblablbalbla
      service: nginx
spec:
  ports:
  - port: 80
    targetPort: 8089
  selector:
    certmanager.k8s.io/acme-http-domain: "3932818779"
    certmanager.k8s.io/acme-http-token: "782372305"

The logs from the cert pod contains this relevant log:
logger.go:93] Calling HTTP01ChallengeResponse
prepare.go:279] Cleaning up old/expired challenges for Certificate default/ambassador-certs
logger.go:68] Calling GetChallenge
http.go:145] presented key () did not match expected (OXiBF7fN60blablablabla.vt8Zlzf-eC5Dj9dnanananana)

To Reproduce
Installing cert-manager using helm
helm install stable/cert-manager  --set ingressShim.defaultIssuerName=letsencrypt-staging --set ingressShim.defaultIssuerKind=ClusterIssuer

Installing the https ambassador (with RBAC) stuff
Installing a straightforward sample
apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-back
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      containers:
      - name: azure-vote-back
        image: redis
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-back
spec:
  ports:
  - port: 6379
  selector:
    app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-front
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 80
        env:
        - name: REDIS
          value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-front
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v0
      kind:  Mapping
      name:  azure-vote-front-mapping
      prefix: /
      service: azure-vote-front
spec:
  ports:
  - port: 80
  selector:
    app: azure-vote-front

Versions (please complete the following information):
Last versions of everything :)

hey,
i went through similar thing as you did a while back and came up with pretty much the same solutions. only difference, i'm only using a selector with
certmanager.k8s.io/acme-http-domain:
which works fine for me. skipped the token.
the acme-http-domain value is a adler32 hash of the domain. so it wont change. there are topics in the cert-manager repo regarding this suggesting custom selector options and / or changing the adler32 hash to something helm can use (then it would be just a template function for us). but im not  sure if anything changed since my adventure down that road :)

Now documented here: https://www.getambassador.io/user-guide/cert-manager

Thx @richarddli for the updated documentation.
Just for your information, I have created a small repo with a readme doc, about installing cert-manager in an AKS cluster.
I know my English is not really as good as it should be, but you may found useful information on this topic:
https://github.com/Mimetis/ambassadorandtls

@Mimetis has your cert renewed yet? Did the acme-http-token change or did you have to take any manual steps?

Unfortunatelly, the project is not yet released in production, and I don't work anymore on it :)
I guess, it "should" be updated since cert-manager is handle it, by default (in my memories)

@richarddli With the auto-reload feature, how does it work with the http01 challenged.  I noticed that the token changed (but not the domain).  Is ambasador somehow updating the challenge service so that the cert can be regenerated and then it loads it?

I think this may work.
You may want to try something like this:
---
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  # Adjust the name here accordingly
  name: letsencrypt-staging
spec:
  acme:
    # The ACME server URL
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    # Email address used for ACME registration
    email<EMAIL_ADDRESS>    # Name of a secret used to store the ACME account private key from step 3
    privateKeySecretRef:
      name: letsencrypt-private-key
    # Enable the HTTP-01 challenge provider
    solvers:
    - http01:
        ingress:
          class: ambassador
          ingressTemplate:
            metadata:
              annotations:
                getambassador.io/config: |
                    ---
                    apiVersion: ambassador/v2
                    kind: Mapping
                    name: acme-challenge-service-mapping-stage
                    rewrite: ""
                    prefix: /.well-known/acme-challenge/

I think this may work.
You may want to try something like this:
---
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  # Adjust the name here accordingly
  name: letsencrypt-staging
spec:
  acme:
    # The ACME server URL
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    # Email address used for ACME registration
    email<EMAIL_ADDRESS>    # Name of a secret used to store the ACME account private key from step 3
    privateKeySecretRef:
      name: letsencrypt-private-key
    # Enable the HTTP-01 challenge provider
    solvers:
    - http01:
        ingress:
          class: ambassador
          ingressTemplate:
            metadata:
              annotations:
                getambassador.io/config: |
                    ---
                    apiVersion: ambassador/v2
                    kind: Mapping
                    name: acme-challenge-service-mapping-stage
                    rewrite: ""
                    prefix: /.well-known/acme-challenge/

Tried @Mercbot7 suggestion. And it.. kind of works. I mean I do get a sometimes reachable endpoint, http://mydomain.com/.well-known/acme-challenge/g_Se6IDLLZbjAIZML2o3UXtfRBaU9VpMm_zjeIfR7Y9
Using:
  annotations:
    getambassador.io/config: |
      apiVersion: getambassador.io/v3alpha1
      kind: Mapping
      metadata:
        name: acme-challenge-mapping
      spec:
        hostname: "*"
        prefix: /.well-known/acme-challenge/
        rewrite: ""
        service: "*:8089"

service field is mandatory in apiVersion: getambassador.io/v3alpha1
Using *:8089 will result in envoy DNS resolver obtaining all services from the current namespace, after appending the port, in my case 8089.
This means that most of services in the current namespace will fail, since not listening on port 8089 (except the cert-manager autogenerated one), resulting everytime but one in upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: delayed connect error: 111
Lentsencrypt will try to reach the generated endpoint, but will fail every time, somehow never reaching the 1 working instance
This means that certificates will not be signed
Perhaps adding some kind a parameter (that I have yet to find) to the Mapping object as to test first if upstream is available and not route traffic if not? This would in theory leave only the working one.

I do not really get the "cert-manager uses an Ingress to issue the challenge to /.well-known/acme-challenge/ that is incompatible with Ambassador." part from the docs: https://www.getambassador.io/docs/emissary/latest/howtos/cert-manager/#http-01-challenge
Why is a standard regular ingress incompatible?
The suggested solution is not the nicest, especially since I have tens of subdomains, meaning I would need to create a new Service and a Mapping in every namespace that has an ingress defined.
Also, the default ingressClass for an Issuer/ClusterIssuer must be something else than ambassador, and eventually non existent, or an ingress-controller that does not occupy port 80, so the Mapping can do its job for /.well-known/acme-challenge/, and having a useless ingress object created by cert-manager


[Bug] Exception in update_controller when dispatching 'truenas-update-TrueNAS'

Describe the issue

I'm not sure if this has been reported or not, but HA 2023.9 this integration stops working entirely for me with this error logged over and over again
Source: util/logging.py:168
First occurred: 00:07:36 (3453 occurrences)
Last logged: 19:14:50

Exception in update_controller when dispatching 'truenas-update-TrueNAS': () Traceback (most recent call last): File "/config/custom_components/truenas/model.py", line 33, in update_controller model_update_items( File "/config/custom_components/truenas/model.py", line 86, in model_update_items if tmp := _register_entity(sensors, item_id, "", uid_sensor): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/truenas/model.py", line 60, in _register_entity _sensors[_item_id].async_schedule_update_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 901, in async_schedule_update_ha_state self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 707, in async_write_ha_state raise RuntimeError(f"Attribute hass is None for {self}") RuntimeError: Attribute hass is None for <Entity Uptime>
Exception in update_controller when dispatching 'truenas-update-TrueNAS': () Traceback (most recent call last): File "/config/custom_components/truenas/model.py", line 33, in update_controller model_update_items( File "/config/custom_components/truenas/model.py", line 93, in model_update_items if tmp := _register_entity(sensors, item_id, uid, uid_sensor): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/truenas/model.py", line 60, in _register_entity _sensors[_item_id].async_schedule_update_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 901, in async_schedule_update_ha_state self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 707, in async_write_ha_state raise RuntimeError(f"Attribute hass is None for {self}") RuntimeError: Attribute hass is None for <entity None=on>
Exception in update_controller when dispatching 'truenas-update-TrueNAS': () Traceback (most recent call last): File "/config/custom_components/truenas/model.py", line 33, in update_controller model_update_items( File "/config/custom_components/truenas/model.py", line 86, in model_update_items if tmp := _register_entity(sensors, item_id, "", uid_sensor): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/truenas/model.py", line 60, in _register_entity _sensors[_item_id].async_schedule_update_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 901, in async_schedule_update_ha_state self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 707, in async_write_ha_state raise RuntimeError(f"Attribute hass is None for {self}") RuntimeError: Attribute hass is None for <entity None=on>

How to reproduce the issue

Setup integration

Expected behavior

Successful platform setup
Screenshots

Software versions

Home Assistant version: HA 2023.9.0
TrueNAS integration version: 1.2.3
TrueNAS version: TBC

Diagnostics data

Traceback/Error logs

Additional context

I have exactly the same problem here. Same versions. Everything was working fine before upgrade to 2023.9.
After putting by backup back to previous HA version (2023.8.4), everything worked again

Just to clarify, is this when upgrading or just when integration operates normally?

On my side, it's when the integration operates normally (it was working before the update). Thanks

yea, its probably related to specific circumstances. we have to find them

Mine stopped working after the update to 2023.9 as well. I have tried removing the integration and adding it back, but still have the same error (no entries are created either).

+1
i'm facing the same issue as for Truenas as well as for Portainer (i happend to use them both) both broke after updating to 2023.9, I performed a rollback, and  everything was up&running normally afterwards. :)

Just to clarify, is this when upgrading or just when integration operates normally?

My situation is the same as @35gh
I've not rolled back though as I'm developing some other integrations.
I'll see if I can debug in a test environment over the weekend :)

I wonder if this PR is at fault >
https://github.com/home-assistant/core/pull/98157
On Fri, Sep 8, 2023 at 12:45 PM Jordan H @.***> wrote:

Just to clarify, is this when upgrading or just when integration operates
normally?
My situation is the same as @35gh https://github.com/35gh
I've not rolled back though as I'm developing some other integrations.
I'll see if I can debug in a test environment over the weekend :)
—
Reply to this email directly, view it on GitHub
https://github.com/tomaae/homeassistant-truenas/issues/106#issuecomment-1711957154,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDNYG4PM2K7ZJNU7UNZQCLXZNDT7ANCNFSM6AAAAAA4PJGBZM
.
You are receiving this because you commented.Message ID:
@.***>

Another person here with the same problem and happy to help troubleshoot if anyone has ideas. I've tried the same basics of re-initializing, removing and reinstalling so far.

@tomaae, I think @craigwitter is onto something.
He's specifically referencing:

Don't allow creating device if config entry does not exist

Errors from my system to support this:
Logger: homeassistant.components.update
Source: helpers/entity_platform.py:621
Integration: Update ([documentation](https://www.home-assistant.io/integrations/update), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+update%22))
First occurred: 3:04:53 PM (2 occurrences)
Last logged: 3:04:54 PM

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'axiom.local')}, 'default_manufacturer': 'QEMU', 'default_model': 'Standard PC (Q35 + ICH9, 2009)', 'default_name': 'Axiom System', 'identifiers': {('truenas', 'axiom.local')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'axiom.local')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'truenas.cdc.prodbox.org')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS System', 'identifiers': {('truenas', 'truenas.cdc.prodbox.org')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

Logger: homeassistant.components.binary_sensor
Source: helpers/entity_platform.py:621
Integration: Binary sensor ([documentation](https://www.home-assistant.io/integrations/binary_sensor), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+binary_sensor%22))
First occurred: 3:04:53 PM (38 occurrences)
Last logged: 3:04:54 PM

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'axiom.local')}, 'default_manufacturer': 'QEMU', 'default_model': 'Standard PC (Q35 + ICH9, 2009)', 'default_name': 'Axiom System', 'identifiers': {('truenas', 'axiom.local')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'axiom.local')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'Axiom_Services')}, 'default_manufacturer': 'QEMU', 'default_model': 'Standard PC (Q35 + ICH9, 2009)', 'default_name': 'Axiom Services', 'identifiers': {('truenas', 'Axiom_Services')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'axiom.local')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'truenas.cdc.prodbox.org')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS System', 'identifiers': {('truenas', 'truenas.cdc.prodbox.org')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'TrueNAS_Services')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS Services', 'identifiers': {('truenas', 'TrueNAS_Services')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:621
Integration: Sensor ([documentation](https://www.home-assistant.io/integrations/sensor), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
First occurred: 3:04:53 PM (102 occurrences)
Last logged: 3:04:53 PM

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'TrueNAS_Disks')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS Disks', 'identifiers': {('truenas', 'TrueNAS_Disks')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'TrueNAS_Cloudsync')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS Cloudsync', 'identifiers': {('truenas', 'TrueNAS_Cloudsync')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'TrueNAS_Replication')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS Replication', 'identifiers': {('truenas', 'TrueNAS_Replication')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'TrueNAS_Snapshot tasks')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS Snapshot tasks', 'identifiers': {('truenas', 'TrueNAS_Snapshot tasks')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

truenas: Not adding entity with invalid device info: Invalid device info {'configuration_url': 'http://<IP_ADDRESS>', 'connections': {('truenas', 'truenas.cdc.prodbox.org')}, 'default_manufacturer': 'Supermicro', 'default_model': 'PIO-628U-TR4T+-ST031', 'default_name': 'TrueNAS System', 'identifiers': {('truenas', 'truenas.cdc.prodbox.org')}, 'sw_version': 'TrueNAS-13.0-U5.3', 'via_device': ('truenas', 'truenas.cdc.prodbox.org')} for 'truenas' config entry: device info needs to either describe a device, link to existing device or provide extra information.

(And as always, appreciate all your work. This integration has been hella useful for me!)

update dispatch is different from invalid device info. I'm working on new framework for my integrations which already adresses it, but I need to polish it a bit before it can be deployed to all integrations. hopefully next week.

Same issue, same versions and remedies tried, glad to know threre's a fix in the make.
Keep up the good work.

Another person here with the same problem

No entities after latest HA OS update as well here

no, thats unrelated to this issue. this one is about update dispatcher

no, thats unrelated to this issue. this one is about update dispatcher

I think fixing the update dispatcher will resolve the no entities issue because all of my entities are unavailable, I assume that setting the integration up from scratch will replicate the same behaviour.

no, its not related. I know what the other issue is and how to fix it. Just need moretime to polish the change and port it to this integration.

Aftr the update to version 1.2.4 everyting works again. Thanks @tomaae for his great work.

Same here, latest update 1.2.4 entities are back👍

Great job!
On Tue, Sep 19, 2023 at 7:53 AM IronicRebound77 @.***>
wrote:

Same here, latest update 1.2.4 entities are back👍
—
Reply to this email directly, view it on GitHub
https://github.com/tomaae/homeassistant-truenas/issues/106#issuecomment-1725352862,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDNYGYP4W3KCXPFPAYQKTLX3GBSZANCNFSM6AAAAAA4PJGBZM
.
You are receiving this because you were mentioned.Message ID:
@.***>

but did you guys had this exact error?


Chart.js: remove unusable horizontalBar type in chart model

Q
A

Bug fix?
yes

New feature?
no

Tickets
Fix #...

License
MIT

https://www.chartjs.org/docs/3.2.0/getting-started/v3-migration.html#chart-types
I also added the chart.js update to the changelog.

Thank you @duboiss!


Update Client Implementation

The WebRequest / HttpWebRequest used in Kite.cs are deprecated and do not work reliably on Linux systems. Please move to the recommended HttpClient.
See note from Microsoft at: https://learn.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest?view=net-7.0

Will check this. Thanks for the heads up!

Available in v4.3.0


New Release for 2.x

I wanted to use elm-github-install to install the new version of elm-ace but I'm getting an error. I can't satisfy versions.
Can we cut a new release and/or publish this to packages.elm-lang.org?

I got this too:
Could not find a solution:
  Unable to satisfy the following requirements:

  - `https://github.com/elm-community/list-extra (< 6.0.0)` required by `user-specified dependency`
  - `https://github.com/elm-community/list-extra (>= 5.0.0)` required by `user-specified dependency`
  - `https://github.com/elm-community/list-extra (>= 4.0.0)` required by `https://github.com/abadi199/elm-input-extra-5.1.0`
  - `https://github.com/elm-community/list-extra (< 5.0.0)` required by `https://github.com/abadi199/elm-input-extra-5.1.0`

I can't publish it to packages, because it contains native JavaScript code (elm's repository blocks native code).
I use https://github.com/NoRedInk/elm-ops-tooling to install (/sub/ is a dir with git submodules):
./sub/elm-ops-tooling/elm_self_publish.py ./sub/elm-ace/ .

But I won't close this issue, because I want to check git installer later.

It solved! You can use elm-github-install with 2.1.2 version.


Create and enhance images for Rich Presence

NewLogos.tar.gz

Rich presence assets need to be at least 512x512 pixels.
These look alright though so I'll replace them if you can get 512x512 images.

Logo.tar.gz

Looks good, thanks


Update unused-css.md

PR https://github.com/google/WebFundamentals/pull/7214 was published yesterday but the link was changed.
URL: https://developers.google.com/web/tools/lighthouse/audits/unused-css
New link: https://github.com/style-tools/async
The repository has been changed in the mean time. The async loader was further improved and it combines both the stylesheet and script loader in $async(). By using an GCC based IIFE generator it would be possible to select only the modules that are needed and to exclude the javascript loader.
The key USP of the loader may be the ability to use a HTML data-c attribute with 100% JSON based control over the loader. It will enable to use the loader with complex page-based config and the fastest startup time in combination with a strict Content-Security-Policy.
https://github.com/style-tools/async
What's also unique is that you can capture async scripts and rewrite or remove them, for example rewrite analytics.js to bypass the header issues in the Google Lighthouse audit.

:tada: This has been pushed live to https://developers.google.com/web/

Digital Marketing! | Work From Home!
Make money online without any expenses!
Our Journey Since 24.12.2012
Subscribe & help us to build a blog !
http://www.mizansurovi1.blogspot.com


Fix for mediator load testing race condition when scaling horizontally

Pause and retry if a routing record is not found

Codecov Report

Merging #2009 (0e0ccdd) into main (de04b9d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #2009   +/-   ##
=======================================
  Coverage   93.51%   93.51%
=======================================
  Files         539      539
  Lines       34600    34617   +17
=======================================
+ Hits        32355    32372   +17
  Misses       2245     2245

@ianco We can also use the Redis cache across scaled-up mediators to track if RoutingRecord for a recip_key is being created? Mediator_A before committing a new RoutingRecord to wallet adds routing_record::{recip_key} to cache. When mediator_B calls retrieve_by_recipient_key and StorageNotFoundError gets raised then we check the cache for  routing_record::{recip_key} and retry only if it exists.

@ianco We can also use the Redis cache across scaled-up mediators to track if RoutingRecord for a recip_key is being created? Mediator_A before committing a new RoutingRecord to wallet adds routing_record::{recip_key} to cache. When mediator_B calls retrieve_by_recipient_key and StorageNotFoundError gets raised then we check the cache for routing_record::{recip_key} and retry only if it exists.

@shaangill025 I think using the redis (or kafka) queue is a better approach than the hack-y solution I put in.  However unless we make queues a requirement (as @swcurran suggested) we also have to have a fall-back solution for when there are no queues deployed.  (I think this problem can occur even if there is just a single instance of the mediator, although much less likely.)
For a redis/kafka solution, I think all that aca-py need to do - if there is no routing record found - is just leave the message on the queue with a "retry later" flag, I don't think there's a reason to do any additional checking.  (Plus I'm not sure of the timing - is it possible that Mediator_B will try to find the routing record before Mediator_A even gets the request to add the routing record?  I'm not sure of the root cause of this problem so we would need to assume this is a possibility.)


[LED] Fixing LED initialization.

Thanks for the PR

@mbed-bot: TEST

I created PR #211 to fix this behavior.


modified the search bar now its working

PR #33  Resolved
Issue has been resolved , I have modified the search bar now it will search on the basis of keyword ,

@Rajneesh2223  show through video

https://github.com/Niharika0104/TrendTrove/assets/127289297/fb251d1c-3e08-4086-aa59-03a8f0a24178
here is the recording of the above pr

@Rajneesh2223  It was not assigned you. If you are not assigned with the issue, you cannot directly submit pr for it.
This time I am considering but next time I won't

@Niharika0104  Ready to merge

@Rajneesh2223 r u working on it?

yes maam i am working on it , I didn't saw the message , I will submit it by night

I have made the changes and created a pr also .
@Niharika0104


Issue about the training process

Thanks for your excellent work and I met some problems when I train your model following your instruction.

You claimed in your paper that you were using batch size 256 for all experimental results but in your instruction ./distributed_train.sh 8 <path_to_imagenet> --model ddf_mul_resnet50 --lr 0.4 \ --warmup-epochs 5 --epochs 120 --sched cosine -b 128 -j 6 --amp --dist-bn reduce it seems that this command will launch a training with batch size 128*8.

When I follow your command ./distributed_train.sh 8 <path_to_imagenet> --model ddf_mul_resnet50 --lr 0.4 \ --warmup-epochs 5 --epochs 120 --sched cosine -b 128 -j 6 --amp --dist-bn reduce, the training process seems to be correct but the validation process has some problems:

Train: 129 [   0/1251 (  0%)]  Loss:  1.837984 (1.8380)  Time: 1.869s,  547.82/s  (1.869s,  547.82/s)  LR: 1.000e-05  Data: 1.558 (1.558)
Train: 129 [  50/1251 (  4%)]  Loss:  1.915305 (1.8766)  Time: 0.339s, 3023.06/s  (0.370s, 2768.98/s)  LR: 1.000e-05  Data: 0.016 (0.047)
Train: 129 [ 100/1251 (  8%)]  Loss:  1.936936 (1.8967)  Time: 0.338s, 3028.31/s  (0.355s, 2885.79/s)  LR: 1.000e-05  Data: 0.019 (0.033)
Train: 129 [ 150/1251 ( 12%)]  Loss:  1.877319 (1.8919)  Time: 0.336s, 3045.61/s  (0.349s, 2931.77/s)  LR: 1.000e-05  Data: 0.017 (0.028)
Train: 129 [ 200/1251 ( 16%)]  Loss:  1.827796 (1.8791)  Time: 0.340s, 3011.16/s  (0.347s, 2953.92/s)  LR: 1.000e-05  Data: 0.022 (0.025)
Train: 129 [ 250/1251 ( 20%)]  Loss:  1.865778 (1.8769)  Time: 0.338s, 3031.46/s  (0.345s, 2966.32/s)  LR: 1.000e-05  Data: 0.018 (0.024)
Train: 129 [ 300/1251 ( 24%)]  Loss:  1.879160 (1.8772)  Time: 0.343s, 2982.10/s  (0.344s, 2975.39/s)  LR: 1.000e-05  Data: 0.017 (0.023)
Train: 129 [ 350/1251 ( 28%)]  Loss:  1.857682 (1.8747)  Time: 0.337s, 3039.01/s  (0.344s, 2980.71/s)  LR: 1.000e-05  Data: 0.018 (0.022)
Train: 129 [ 400/1251 ( 32%)]  Loss:  1.845622 (1.8715)  Time: 0.339s, 3017.76/s  (0.343s, 2984.77/s)  LR: 1.000e-05  Data: 0.019 (0.022)
Train: 129 [ 450/1251 ( 36%)]  Loss:  1.938300 (1.8782)  Time: 0.335s, 3052.68/s  (0.343s, 2989.22/s)  LR: 1.000e-05  Data: 0.018 (0.021)
Train: 129 [ 500/1251 ( 40%)]  Loss:  1.805174 (1.8716)  Time: 0.339s, 3018.73/s  (0.342s, 2992.69/s)  LR: 1.000e-05  Data: 0.021 (0.021)
Train: 129 [ 550/1251 ( 44%)]  Loss:  1.859214 (1.8705)  Time: 0.340s, 3013.13/s  (0.342s, 2994.75/s)  LR: 1.000e-05  Data: 0.018 (0.021)
Train: 129 [ 600/1251 ( 48%)]  Loss:  1.872183 (1.8707)  Time: 0.338s, 3029.93/s  (0.342s, 2997.84/s)  LR: 1.000e-05  Data: 0.017 (0.020)
Train: 129 [ 650/1251 ( 52%)]  Loss:  1.859764 (1.8699)  Time: 0.351s, 2916.84/s  (0.341s, 2999.01/s)  LR: 1.000e-05  Data: 0.016 (0.020)
Train: 129 [ 700/1251 ( 56%)]  Loss:  1.845083 (1.8682)  Time: 0.339s, 3021.80/s  (0.341s, 3000.37/s)  LR: 1.000e-05  Data: 0.019 (0.020)
Train: 129 [ 750/1251 ( 60%)]  Loss:  1.987917 (1.8757)  Time: 0.337s, 3038.19/s  (0.341s, 3000.99/s)  LR: 1.000e-05  Data: 0.017 (0.020)
Train: 129 [ 800/1251 ( 64%)]  Loss:  1.889720 (1.8765)  Time: 0.344s, 2979.40/s  (0.341s, 3002.14/s)  LR: 1.000e-05  Data: 0.018 (0.020)
Train: 129 [ 850/1251 ( 68%)]  Loss:  1.952255 (1.8807)  Time: 0.341s, 3006.07/s  (0.341s, 3003.34/s)  LR: 1.000e-05  Data: 0.019 (0.020)
Train: 129 [ 900/1251 ( 72%)]  Loss:  1.884332 (1.8809)  Time: 0.342s, 2996.99/s  (0.341s, 3003.49/s)  LR: 1.000e-05  Data: 0.017 (0.019)
Train: 129 [ 950/1251 ( 76%)]  Loss:  1.888057 (1.8813)  Time: 0.336s, 3045.26/s  (0.341s, 3004.35/s)  LR: 1.000e-05  Data: 0.019 (0.019)
Train: 129 [1000/1251 ( 80%)]  Loss:  1.835092 (1.8791)  Time: 0.342s, 2993.21/s  (0.341s, 3004.89/s)  LR: 1.000e-05  Data: 0.020 (0.019)
Train: 129 [1050/1251 ( 84%)]  Loss:  1.847999 (1.8777)  Time: 0.336s, 3047.83/s  (0.341s, 3005.33/s)  LR: 1.000e-05  Data: 0.016 (0.019)
Train: 129 [1100/1251 ( 88%)]  Loss:  1.849290 (1.8764)  Time: 0.336s, 3048.30/s  (0.341s, 3005.95/s)  LR: 1.000e-05  Data: 0.018 (0.019)
Train: 129 [1150/1251 ( 92%)]  Loss:  1.883289 (1.8767)  Time: 0.334s, 3068.20/s  (0.341s, 3006.69/s)  LR: 1.000e-05  Data: 0.016 (0.019)
Train: 129 [1200/1251 ( 96%)]  Loss:  1.855369 (1.8759)  Time: 0.335s, 3054.89/s  (0.340s, 3007.43/s)  LR: 1.000e-05  Data: 0.018 (0.019)
Train: 129 [1250/1251 (100%)]  Loss:  1.903906 (1.8769)  Time: 0.318s, 3224.92/s  (0.340s, 3008.18/s)  LR: 1.000e-05  Data: 0.000 (0.019)
Distributing BatchNorm running means and vars
Test: [   0/48]  Time: 1.501 (1.501)  Loss:  9.5781 (9.5781)  Acc@1:  0.0000 ( 0.0000)  Acc@5:  0.2930 ( 0.2930)
Test: [  48/48]  Time: 0.068 (0.242)  Loss:  9.5078 (9.5792)  Acc@1:  0.0000 ( 0.0940)  Acc@5:  0.2358 ( 0.3160)

Does the training log match your training process? Do you have any idea for the problem of the testing part?

"The learning rate is set to 0.1 with batch size 256 and decays to 1e-5 following the cosine schedule. " This line in paper means that I set 0.1 for batch size 256, i.e.
lr = 0.1 * (batch_size / 256),
that is 0.4 for batch size 1024 (4*256).
Sorry for the unclear words.
Since I am working on the next paper based on DDF, I have updated this repo several times. I will check the validation code.  You can also verify it by using the released model parameters.

So the experimental results in your paper are obtained by training with batch size 256 or 1024? And if you can check the validation code it would be great, thanks.

So the experimental results in your paper are obtained by training with batch size 256 or 1024? And if my training log matches yours in terms of the loss value? In addition, if you can check the validation code it would be great, thanks.

I use 1024 for R50, 512 for R101.

So the experimental results in your paper are obtained by training with batch size 256 or 1024? And if my training log matches yours in terms of the loss value? In addition, if you can check the validation code it would be great, thanks.

I use 1024 for R50, 512 for R101.

And about the R101, what' your data aumentation schedule?
I found random erasing, aotu-augment and color jitter in your train code.


Example and new convenience methods for druid menus

Please rebase on master so we can pass the CI.
Also, what is going on here? Please provide at least a short paragraph describing what the changes are supposed to be doing.

This PR introduces helper methods for working with selectable menu items. Menuitem::togle_data() turns a menu item with data of bool into a simple checkbox.
MenuItem::radio_item() makes the menu item selectable. It is selected if the data is equal to the provided value.


update blog example

@windushka blog should be listed in the readme.

@windushka blog should be listed in the readme.

Done in #67

Done in #67 and #66.


Terminal support

Hi,
Thank you for the great theme. Unfortunately, I can't get it to work in both Terminal and iTerm2 despite using their respective themes.
Here is how vim looks like in the terminal with the iceberg theme:

And here is my terminal with the iceberg theme:

I fixed my problem by adding the missing set termguicolors option.
Thanks.


Remove useless links

Remove useless links
Don't expose GeoIP ports

Links are kind of deprecated and completely useless since docker-compose 3 (tested on my self hosted instance)
I've also removed the GeoIP ports, as it was not done here

Looks good to me! :)

Great :+1:
By the way, would you be kind enough to add the label hacktoberfest-accepted to this PR? That would make it eligible for Hacktoberfest.
Thanks a lot for your time!

Done! Thanks to you for the contribution :)


Add living wage to wage calculator

PT Story - https://www.pivotaltracker.com/story/show/106292374
Rationale
This change updates the "Am I getting minimum wage?" calculator with an option for people to check if they will receive the living wage when it goes live 1 April 2016.
All the logic remains the same and follows the path as if you were calculating a current rate, with only a minor change in the age question, asking how old will you be on 1 April 2016, instead of how old are you.
Those over 25 on 1 April 2016, who receive 7.20 or more per hour, will see that they will be receiving the living wage, and those receiving less than 7.20 per hour will see a message that they should be receiving the living wage.
Expected changes

Example URL

The start page should show a third choice "If you'll get the national living wage (from 1 April 2016)?

Example URL

Should now ask "How old will you be on 1 April 2016?"

Example URL

Outcome should say "You will be getting the national living wage"

Example URL

Outcome should include "You are getting the National Minimum wage but your pay should be increased to at least the national living wage from 1 April 2016."

Example URL

Outcome should include callout "Your actual pay should increase to at least £7.20 per hour from 1 April 2016."

Example URL
Asac helpline should be in bold text, and on separate line

I've added a comment to the PT story to ask whether these changes are ready to be deployed.

Liz has commented in PT to say that the date for these changes has been moved to 25 November. I'm going to add the Waiting on Factcheck label so that we know we can ignore this for a while.

I've rebased this branch on master and force pushed.

I'm in the process of rebasing this on master now that questions live in ERB templates.

This has been superseded by PR #2161.


In an SSH tunnel, use a proxy

When I used the SSH tunnel function, I found that the test connection could not pass, and I could connect to it normally by using other SSH connection tools. After investigation and analysis, ssh tunnel function in DBeaver lacks proxy. Moreover, I also found that even if the Network Connections in DBeaver configured or obtained the system proxies, these proxies did not take effect in the SSH tunnel. Therefore, I hope to add a function to meet more application scenarios, and finally I hope that DBeaver will be better ~

Hi! Have you tried adding Proxy network configurator?

What database do you use?

I have tried the scheme you provided, but it is useless.
In fact, all my databases need to be connected on the proxy. The network settings in DBeaver will automatically get the proxy of the system and use it. Therefore, I can connect to most databases, but some other databases need to be connected through SSh tunnels, and the way you give is to support the database, not the SSH tunnel. In other words, DBeaver didn't get the system proxy, and we appointed the proxy ourselves. However, this proxy does not support SSH connection, and only supports SOCKS mode, not http.
The current situation is:
I can't connect to the server by SSHJ or JSch. The reason is that the server can only be connected by proxy. At present, there is no proxy setting for SSH tunnel on DBeaver.

The main thing is not the database, but the SSH tunnel.

Thanks for the clarification


Review number of CPUs option for py.test on travis

We currently use in our .travis.yml file:
script: py.test -n8 -v --cov=bigchaindb

where the -n 8 option is to send the tests to multiple CPUs, 8 in that case. But does travis provide 8 CPUs?
As per travis documentation, we have two cores.
See related github issue at https://github.com/travis-ci/travis-ci/issues/4696.

I think the best approach is to use -n auto, so it's automatic :)

@vrde #457 :smile:

oh that's great :+1:


destroy / reinit

Hello,
Has anyone worked out a solution to re-initialising the infinite scroll, for example when using the layered navigation an ajax call is made, I need to be able to re-init the infinite scroll on ajax success but not sure what I need to call to achieve this.
I've tried numerous things but none of them work.
$(document).bind("m-ajax-after", function() {
    // re-init the infinite scroll
});

Thanks for opening the ticket. We didn't have to tackle this problem with any of our clients yet so we don't have a solution at the moment. But I'll of course leave the ticket open, maybe someone in the community did solve it.
@damian-pastorini: please try to you circle back to this ticket whenever you get a chance in your busy schedule.

Hi @jasonalvis , you can try with the following:
   SgyIAS.init(); // or window.SgyIAS.init();
});```

If you already loaded the infinitscroll on the page the SgyIAS should be already created.

hey!
great extension, everything works, except ajax loading...
@damian-pastorini
could you please check out if this code works.for you?
I tried it and this function called is unedfined. Even though before ajax load, infinity scroll works as it should.

I'm also trying to integrate manadev layered navigation filter with this plugin. But after ajax filter is applied, it doesn't trigger inifinite scroll. Instead it shows normal pagination.
I've tried the above solution too. But still it isn't working. Any suggestions?

We can't provide suggestions unless we understand what the issues are once you try to re-init.

There must be some kind of error happening,
Or maybe nothing happens and things silently stop working?

I suggest starting a new branch forked from this repo where we can all look at what you did so far and based on that run our own tests, etc. Would any of you be willing to share that with us?

@gsomoza as far I understand the issue is related to a 3rd party extension to make the Layer Navigation work though AJAX.
@phpsos , @Vigneshmuthusamy , I'm sorry but we can't give you free support on this, more than a few recommendations.
In this particular case you should make sure that the bind is working, if the commented line:
jQuery(document).bind("m-ajax-after", function() { alert("test");  });
doesn't work, you can try by run it inside a document.ready event or something like that.
Is possible that the ajax event (m-ajax-after) is been declared after your bind declaration if you add it at the end of our template.
In summary, if the bind doesn't work you won't be able to re-init the InfiniteScroll.
If you like you can hire our support services and we will be glad to help you, we will also need access to your code.
Best,

If you need dev support please contact us at contact (at) strategery (dot) io

This works for me with the ajax filter of "Amasty_ImprovedLayeredNavigation".
fyi: I must rewrite the function, because i didn't find any callbacks in "amshopby_ajax_update".
Important You must update Infinite Ajax Scroll to v2.2.1 or up for the reinitialize function!
if(typeof(window.amshopby_ajax_update)!='undefined'){
    var amshopby_ajax_update_old = window.amshopby_ajax_update;
    window.amshopby_ajax_update = function(data){
        amshopby_ajax_update_old(data);
        if(typeof(window.ias)!='undefined') window.ias.reinitialize();
    }
}

Thanks a lot for sharing this with the community!


[hotfix] fix exceptions caused by operator priority in connector-clickhouse when using sharding_key

Purpose of this pull request
fix of https://github.com/apache/seatunnel/issues/8161
Does this PR introduce any user-facing change?
no
How was this patch tested?
tested locally using over 10000 data points and obtained the maximum and minimum values of the modulus after hashing
Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist
Add ci label in label-scope-conf
Add e2e testcase in seatunnel-e2e
Update connector plugin_config

[ ] Update the release-note.

Run  mvn spotless:apply to fix ci

Run  mvn spotless:apply to fix ci

@supernovaYe please fix ci

Could you mind add an unit test for this method? https://github.com/apache/seatunnel/pull/8162/files#diff-f4bb0831ff0d565061930b5e556ec8836783b1ba1420515d29d4a216aa37ba96R106 Thanks.

Sure, I will fix ci and complete an unit tests after I finish my work


Remove uses of Autohook from loghooks.cpp

Code review:

The original function is prefixed with o_p so any times where the old AUTOHOOK was calling the original function it should now be calling that instead.
The hook function is prefixed with h_ so any times where we would be wanting to call the hooked function from other functions should now be calling that instead

Testing:

Check logs to make sure that all of the changed hooks are being created properly
Make sure that the various logging methods work as intended. (server spew only logs when spewlog_enable 1 is set)

Testing in prod


Proxy option not working when websql adapter used for local db

When your local db is created with this constructor:
new PouchDB('idstoneDB', { adapter: 'websql' });

the handoff to regular replication with proxy option does not work. This is becouse it tries to open proxy database with websql option as well, instead of use http o whatever.
This is my code:
var series = PouchDB.utils.Promise.resolve();

dumpFiles.forEach(function (dumpFile) {
   series = series.then(function () {
	   return db.load(dumpFile,
	   {
		   proxy: 'http://<IP_ADDRESS>:4984/sync_db',
		   auth: {
			   username: 'userone',
			   password: 'passwd'
		   }
	   }
   ).then(function (data) {
	   // done!
   }).catch(function (err) {
	   // HTTP error or something like that
   });
   });
});

series.then(function () {
   // done loading!
   return db.put({ _id: '_local/initial_load_complete' });
}).catch(function (err) {
   // HTTP error or something like that
});

I've tryed also forcing adapter to http, but it changes also the local db adapter option:
[...]
series = series.then(function () {
	   return db.load(dumpFile,
	   {
		   proxy: 'http://<IP_ADDRESS>:4984/sync_db',
		   auth: {
			   username: 'userone',
			   password: 'passwd'
		   },
		   adapter: 'http'
	   }
[...]

It works if you make the next change on loadString function:
var src = new db.constructor(opts.proxy,
      //utils.extend(true, {}, db.__opts, opts)); !!! replace this line for the next one:
      utils.extend(true, {}, { adapter: 'http' }, opts));
var target = new db.constructor(info.db_name,
      utils.extend(true, {}, db.__opts, opts));

fixed by 2edb5f6652fc171cc7935fbfd6324e913cca2835


AddRabbitMQContainer uses wrong default password

AddRabbitMQContainer uses null as default password instead of guest.
Aspire.Hosting 8.0.0-preview.2.23619.3

Oh I think I see where you are getting this from. It is true that the default value for the password parameter on the AddRabbitMQContainer(...) method is null. however inside the implementation we do this:
https://github.com/dotnet/aspire/blob/33331a086b1688355fb3f421fef1bf359553f907/src/Aspire.Hosting/RabbitMQ/RabbitMQBuilderExtensions.cs#L25

Yes.
So either change the parameter argument comment or use "guest" instead of new guid, please.
But it worked with "guest" before in older Aspire version so now it is a braking change in current one.
It was changed in
https://github.com/dotnet/aspire/commit/1ae3c4001647d68a5d1cc44f477ccb5bfa64a5b8#diff-ea2cfbd98543b54b3dd6aab6148f4ddcda0fd9c1ffe57ff8ff73693752060057

This change was intentional. Can you describe why you would like the password hardcoded to guest?

We are using the password in development. Why not :-)

This is not about any password, but about inconsistency in parameter documentation and actual behavior.

@rolfik-mycronic can you please send a PR to fix the parameter documentation?

This is not about any password, but about inconsistency in parameter documentation and actual behavior.

That was the detail I was missing. Thanks!

Fixed in PR: https://github.com/dotnet/aspire/pull/1643


Generate a clearer panic message

This aims to fix this issue

 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.

@roshanavand would you mind specifying the output before this change and after this change?

@marckhouzam Not at all.
Assuming we want to add a new flag named myFlag with shorthand h to a flagset named myFlagSet:
Before the message would read:
unable to redefine 'h' shorthand in "myFlagSet" flagset: it's already used for "myFlag" flag
Now it reads:
unable to define 'h' shorthand for "help" flag: it's already used for "myFlag" flag
Considering the linked issue, the custom flag is set first, after that the help flag creation is initiated and results to that panic.

Especially in case of using h shorthand, the message is more vague for the user as they might not know that help with the same shorthand is being initiated later and causing that error.
But I believe the new message is clearer in all the situations.


NIFI-5895 - Add a processor to start an Oozie workflow

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[x] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

This PR has been tested against an Oozie 4.2.0 server instance in the following conditions:

Plaintext
Plaintext + SSL
Kerberos
Kerberos + SSL

A very basic examples has been used:
https://github.com/apache/oozie/tree/branch-4.3/examples/src/main/apps/shell
Testing workflow:
https://gist.github.com/pvillard31/4a0a7b33dc27c11538cec0b5e80c0324
The workflow.xml from the Oozie repo must be pushed in HDFS in a directory and that directory is used in the configuration of the processor. All the properties given in the job.properties file from the Oozie repo must be passed through the configuration of the processor or the attributes of the flow files.

Thanks for the review @zenfenan - just pushed a commit to address your comments.

closing due to inactivity


There is any way to get support about this?

Or this is a best effort maybe run or maybe not software?

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

ID: 3e71361e-a9bb-89ee-27ee-7e38a60914a0
Version Independent ID: df5a9b26-4eb1-a396-1c84-9f3ec6232753
Content: Connect to Azure Consumption Insights data in Power BI desktop - Power BI
Content Source: powerbi-docs/desktop-connect-azure-consumption-insights.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Error, please close


Use local instead of parameter comment

Parameter comments should match the name of the argument. See
http://clang.llvm.org/extra/clang-tidy/checks/bugprone-argument-comment.html

Urgh my local clang-format disagrees apparently :-/

Ooh, missed this when shuffling code around. Thanks for fixing it!

No worries. I think actually Scott added it in 465279e585ebb0bec7c2213ba043a3db74db48e2 when wrapping in an integer attr. git blame was giving me issues. But for future reference, this command is useful:
git log -S "getI32IntegerAttr(/*entryPointOrdinal=*/it.index())" main


Add custom styling sheet support for charts and improve charts

Purpose
Add custom styling sheet support for charts and improve charts

@kasunbg Custom CSS was introduce to fine-tune the elements within the Charts, increasing font sizes, changing colors etc. This will not affect the email forwarding issue.


Fix type check for async function with alias return type.

Switched to resolvedSymbol from NodeLinks instead of mergedSymbol from the type. When the return type is a type alias, we eagerly resolve the actual type. This resuls in a false positive for a type that exists as a value.
There is a minor change to the error reporting here, as I want to report the error using the name of the alias used in the return type, not the name of the resolved type of the alias. This is so you don't see an error like "Type 'Promise' is not a valid async function return type" when you use an alias for Promise.  This has the side effect of not including the type arguments in the error message, but I think that's acceptable.
Fixes #5333.

OK, thanks for the the in-person explanation -- getMergedSymbol(promiseType.symbol) resolves the type and gets the name, getNodeLinks(node.type).resolvedSymbol doesn't resolve the type and gets the name. Which gives the alias name as desired.

:+1:


Invocation should not invoke arbitrary method

If an application developer passes non-sanitized string to OGNL or similar technologies (which you should never do), an attacker can use org.apache.ibatis.plugin.Invocation in the app's classpath to execute arbitrary code (RCE).

This seems like a mistake or spam. Closing.

I would like to know if I want to report this vulnerability, which email address should I provide the information to? @harawata

@springkill ,
Before I let you know my email address, let me check a few things.
For JDK's deserialization vulnerability, you should use JEP-290 filter. See #2079 .
I have received a report about RCE when using SQL provider.
But the reporter used a user input string directly in the SQL returned from a provider, so it was not a MyBatis vulnerability.
Is this not the case you are reporting?

@harawata ,
The issue I found is not a deserialisation vulnerability, it works on JDK8u402 and applies to the latest version of mybatis3.

Okay, send it to my Gmail. The account name is the same as GitHub's.

@harawata Because I have extended the interception support for ResultSet, it has currently failed. Can we add ResultSet type support or support whitelist type configuration ?
@Intercepts({@Signature(type = ResultSet.class, method = "next", args = {}),
        @Signature(type = ResultSet.class, method = "close", args = {})})
@Slf4j
public class MoreRowCheckInterceptor implements Interceptor {
}

public class StatementProxy implements InvocationHandler {
  ...
   public Object invoke(Object proxy, Method method, Object[] params) throws Throwable {
        try {
            if (EXECUTE_QUERY.equals(method.getName()) || GET_RESULT_SET.equals(method.getName())) {
                final ResultSet rs = (ResultSet) method.invoke(statement, params);
                return rs == null ? null : interceptorChain.pluginAll(rs);
            } else {
                return method.invoke(statement, params);
            }
        } catch (Throwable t) {
            throw ExceptionUtil.unwrapThrowable(t);
        }
    }
  ....
}

@wuwen5 ,
MyBatis' interceptor does not (and will not) intercepts JDBC API methods.
If you have to intercept them, you need to use another technique.


Refactor ALTER TABLE and INSERT INTO for V2 Session Catalog

What changes were proposed in this pull request?
Separate the logic for V2 Catalog lookup from table lookup. Catalog lookups are performed through separate extractors. Then table lookups are performed and we make a decision on whether we want to go the V1 code path or the V2 code path.
Why are the changes needed?
To make it easier in the future to remove the V1 code paths and have a better separation of concerns in the code.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing unit tests are quite extensive

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15158/
Test PASSed.

Test build #110152 has started for PR 25685 at commit e3bb478.

Test build #110152 has finished for PR 25685 at commit e3bb478.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #110195 has started for PR 25685 at commit e9a098d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15202/
Test PASSed.

Test build #110196 has started for PR 25685 at commit f9aeb0b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15203/
Test PASSed.

Test build #110197 has started for PR 25685 at commit cca1348.

Test build #110196 has finished for PR 25685 at commit f9aeb0b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #110197 has finished for PR 25685 at commit cca1348.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Test build #110195 has finished for PR 25685 at commit e9a098d.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

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

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

@brkyvz, are you still working on this? I am trying to encourage to close inactive PRs for now (or leave [WIP] prefix in its title)


Controller: Create VolumeID from name as hash function

Use hash value of Volume Name in request as VolumeID, instead
of creating a new UUID each time a request arrives,
This avoids situations where different VolumeIDs may be associated
with same name.
Resolves: #404

This is minimalistic approach to fix #404 by ensuring we use same VolumeID for request with same Name.
I added WIP in case we want to develop this further, few ideas:
now that VolumeID is a function of Name, we could stop storing Name in volume registry,
and change GetVolumeByName to compute hash and match by VolumeID ? Does such approach help? It would mean one entry less of context to maintain, including the stored state in host file system.

As a quick fix this is okay. Some of the enhancements discussed in issue #404 can be added later.
As seen in that discussion, the purpose of this particular code wasn't clear. It would be useful to add source code comments, ideally when writing such code but definitely when making modifications after it became more obvious that further discussions around the code where necessary.

Regarding the CI: I removed "WIP" from the title and then a build job started. Not sure whether it is a coincidence (perhaps the CI simply missed a message from GitHub when the PR was created) or a feature (WIP PRs now getting ignored).


Distinguish custom build invocations

Distinguish building a build script from running it,
in build plan invocations.
Fixes #5719

Seems good.  My only thought is that maybe it should use the kebab-case rename to match the style of target_kind.  Also, maybe panic on or customize the Check and Doc variants to discard the extra info they carry (which are just implementation details for how commands communicate options to compile()), so that doesn't get forgotten if #5855 is implemented.

Looks like highfive got tired of me (or is offline?).
r? @alexcrichton
or @ehuss

@bors: r+
Looks good to me!

:pushpin: Commit e8c1811f83a71deecdc44788645855b2b08b9057 has been approved by alexcrichton

:hourglass: Testing commit e8c1811f83a71deecdc44788645855b2b08b9057 with merge 9caf0bac4c9136c2c318773bba252bec9621493e...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 9caf0bac4c9136c2c318773bba252bec9621493e to master...


Unable to write to destination on Linux — tmp dir should be a file

When running the following:
async def show(request, response):
    response.body = await pydf.AsyncPydf().generate_pdf(
        my_html, print_media_type=True
    )

it works well on MacOSX, but getting the following error on Linux:
Loading pages (1/6)
QPainter::begin(): Returned false============================] 100%
Error: Unable to write to destination
Exit with code 1, due to unknown error.

Note that this is probably due to the following difference of behavior:
wkhtmltopdf http://google.com /tmp/pydf_cache

works well on MacOSX and returns the arror above on Linux.
To solve this with wkhtmltopdf:
wkhtmltopdf http://google.com /tmp/pydf_cache/myfile

I suppose that pydf should create a temporary file instead of writing to the tmp folder for cross platform.
Is there any option I missed?

works fine for us on linux, both inside and outside docker, but happy to accept a PR to fix this for you.

Thanks for replying so promptly!
Investigation so far.
It seems like the error is linked with wkhtmltopdf itself and the system.
A freshly installed Ubuntu 18.10 with just the install of the latest wkhtmltopdf throws the following:
root@ubuntu-1810:~# mkdir /tmp/py_cache
root@ubuntu-1810:~# wkhtmltopdf https://google.com /tmp/py_cache
Loading pages (1/6)
QPainter::begin(): Returned false============================] 100%
Error: Unable to write to destination
Exit with code 1, due to unknown error.

While the same command works on another CentOS server.
I noticed that the version I have does not offer the --cache-dir option in the help section though.

Issue on wkhtmltopdf is related to this issue here.
I'm wondering how portable pydf is aimed to be beyond Docker and Heroku though

--cache-dir should be possible, like all options.
This looks like an issue with wkhtmltopdf, flexibility is really limited to that.
You can however your own wkhtmltopdf binary if that helps.

same problem. @vinyll did u find any solution?


KAFKA-2730: use thread-id as metrics tags

@guozhangwang Looks like the JIRA number is wrong, maybe 2730 instead of 2370?

Ah yes, thanks @ewencp

LVVGTM :)
Thanks for the quick solution, @guozhangwang


Make the package Symfony 4 ready

Failed Travis step should be fixed with the merge of symfony/symfony#25048


Question: Obtaining Bones and Joints

I would like to ask if it is possible to get the joints and bones as presented in the dataset that was introduced on the project page:

I think the related issue is #86

For the HInt dataset, we only annotate the 2D keypoints of the hand.
If you want to get the 3D bone orientation or the 3D joints of the hand, you could run the HaMeR network on these images. This will not be ground truth, but it will give you a reasonable estimate for these parameters.

For the HInt dataset, we only annotate the 2D keypoints of the hand. If you want to get the 3D bone orientation or the 3D joints of the hand, you could run the HaMeR network on these images. This will not be ground truth, but it will give you a reasonable estimate for these parameters.

So if I understand correctly, during the inference these 3D keypoints are inferred to later fit the 3D mesh of the hand?
And to get the joint positions I am supposed to look at the:

You can get the 3D coordinates of the hand keypoints in the camera frame by adding pred_cam_t_full (which is calculated here) to out['pred_keypoints_3d'] (which is calculated here). Then you can export the sum in a pkl file.

I understand that this is not ground truth but ANN output.

Actually, the model infers the hand model parameters (pose and shape parameters from MANO). Given these parameters, we can use MANO to reconstruct the mesh and the 3D keypoints.
The description in the above issue is accurate for inferring the locations of the 3D keypoints. The keypoints are in the OpenPose order. And yes, HaMeR will only give a neural network estimate - this is not ground truth.

Actually, the model infers the hand model parameters (pose and shape parameters from MANO). Given these parameters, we can use MANO to reconstruct the mesh and the 3D keypoints.
The description in the above issue is accurate for inferring the locations of the 3D keypoints. The keypoints are in the OpenPose order. And yes, HaMeR will only give a neural network estimate - this is not ground truth.

Would you be open to merging if I modify the demo.py and add a separate boolean flag argument?

@geopavlakos I am working on this in #89 but I am hitting some issues, I will create a devcontainer and run this with a debugger. Hopefully I can come up with a solution that works for me locally ;)

@geopavlakos I am working on this in #89 but I am hitting some issues, I will create a devcontainer and run this with a debugger.  I have tried pred_3d and pred_2d, it can not correspond location with ori img

See if you can get it working with #89

See if you can get it working with #89

I can get 3d keypoints and 2d keypoints, but I can not get right img, like this:

See if you can get it working with https://github.com/geopavlakos/hamer/pull/89
I can get 3d keypoints and 2d keypoints, but I can not get right img, like this:
Uploading WechatIMG47.jpg…

I think the image is broken.
Anyway if the output from: #89 does not work, we will have to wait for @geopavlakos to answer what is the correct way to get these keypoints.

See if you can get it working with #89
I can get 3d keypoints and 2d keypoints, but I can not get right img, like this:
Uploading WechatIMG47.jpg…

I think the image is broken.
Anyway if the output from: #89 does not work, we will have to wait for @geopavlakos to answer what is the correct way to get these keypoints.

I have get right img with keypoints, In a class named SkeletonRender, we can get pred_keypoints_3d_proj_img, when I addweight it with ori image, It fits. But I still don't know why the pred_keypoints_2d doesn't work, maybe question is the perspective_projection function. please tell me your idea if you have solution, thanks!

@longshot-pting Can you post how you got the pred_keypoints_3d_proj_img, please? I am trying to get the Skeleton Renderer to work, but not avail.

@longshot-pting Can you post how you got the pred_keypoints_3d_proj_img, please? I am trying to get the Skeleton Renderer to work, but to no avail.

of course! I checked it's function named skeleton_renderer and get five pictures with skeleton, in which the picture named ''pred_keypoints_3d_proj_img'' is right, and I use it's focal and cam_center in hamer forward_step like this:
pred_keypoints_2d = perspective_projection(pred_keypoints_3d,                                                    translation=pred_cam_t,                                                    rotation=rotation.repeat(batch_size, 1, 1).to(device),                                                    focal_length = torch.tensor([self.cfg.EXTRA.FOCAL_LENGTH, self.cfg.EXTRA.FOCAL_LENGTH]).reshape(1, 2).repeat(batch_size, 1),                                                    camera_center = (torch.tensor([self.cfg.MODEL.IMAGE_SIZE, self.cfg.MODEL.IMAGE_SIZE], dtype=torch.float).reshape(1, 2) / 2.).repeat(batch_size, 1)                                                    )
Hope it helpful for you.


Add asdf-flutter team

A part of https://github.com/orgs/asdf-community/discussions/56

Next: https://github.com/asdf-community/infrastructure/pull/157


can't copy (cmd-c) 'save-as' filenames from clipboard

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
For a new file, while copying (cmd-c) a filename from clipboard "pyrightconfig.json", for a 'save-as' file, the clipboard text would not enter the window and replace the 'untitled' text. Instead the macos/finder system error 'flash and noise' would sound/show.

Environment
echo $(zed --version) "\n"macOS $(sw_vers -productVersion) "\n"architecture $(uname -m)
== macOS 13.1
architecture arm64
If applicable, add mockups / screenshots to help explain present your vision of the feature
No response
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue
No response

I've ran into this one so many times.  We should definitely resolve this.  We can't run cmd-a either, so I'm guessing we can't run any sort of commands you would typically be able to run in a single-line editor.

Going to link this issue as well:

https://github.com/zed-industries/feedback/issues/296

This should be out in a few releases!


feat(module): add CaslModule.forRootAsync

closes #191

Thanks looks good, could you please resolve conflicts so I could merge.

Thanks looks good, could you please resolve conflicts so I could merge.

done


Type in doc page menu too large

Yes, confirming. At my case PureScript is also over a text.

Thanks for pointing this out :) Fixed

Howdy, I seem to be having the same issue, except the text is even larger for me than the above examples.  Here's a screenshot:


eleminated some calls to 'strlen'

When 'password_hash' generates the salt itself it might encounter a small glitch (no real problem, only unnecessary calls) :
Assuming it calls either (or both) of »mcrypt_create_iv« or »openssl_random_pseudo_bytes« »$buffer_valid« could still be FALSE after both if's meaning it might try urandom next.
Sadly buffer now is no longer an empty string but »FALSE« itself!
While it will give the correct result, it is an unnecessary call to »_strlen« just to get 0.
Instead »$read« could be initialized to 0 directly.
Also you are using a while-loop to read from urandom, which won't terminate until we have read enough, meaning the last if for this block is unnecessary, we already know that »$read« is greater or equal to »$raw_salt_len« and we can simply set »$buffer_valid« as true…
Next: past this point we have either a valid buffer, which per definition has a length of at least »$raw_salt_len«, or it's not valid, making the length check for the following if unnecessary…
But, like the case of trying urandom, »$buffer« should be reinitialized as '' for clean code and the loop could be simplified, alas we know that we are beyond the end of »$buffer«…
For »password_verify« it's also possible to eliminate 2 calls (one of them inside the loop) to »_strlen« by caching the length of »$ret«.
Hope I haven't overlooked anything and would like to hear your opinion on my changes…

Those calls may be strictly unnecessary, however there was a reason for it. At one point I checked the $strong parameter of openssl_random_pseudo_bytes. Which I really should again... I'll make that change (which then will still require the extra strlen calls).
Thanks for bringing it up!

I'll look forward to those changes :)

Pushed!

That was fast ;)


Improve cJSON number handling.

Get rid of CJSON_NO_CLIB and its associated code paths, per Ray's request.
Change the type of the J object's valueint member. It should be int32_t if NOTE_LOWMEM and int64_t otherwise. Capture this in a new #define for the type, JINTEGER.
When parsing a JSON number from a JSON string, if the number is within the bounds of the JINTEGER type, convert it to an integer using JAtoI rather than simply casting valuenumber to JINTEGER, which can lose precision (e.g. for a Unix timestamp). If the number is outside the bounds of a JINTEGER, saturate, which is the same behavior as before this commit.
When printing a JSON number, print it as an integer if possible. Otherwise, print it as floating point.
Fix an issue where JItoA would fail to convert the minimum long int value (i.e. LONG_MIN) to a string.

Added unit tests.


Doc/router

add a tip when using nested router & routes

Coverage remained the same at 100.0% when pulling a524d4ef09d2729cc7f1ddb7e179706681e82ece on Aaronphy:doc/router into c55446c67b4d5a5b8fe1b8bf38dfc8a6567de305 on mirrorjs:master.


Numbers not quoted in CSV

I'm trying to export data through AlaSQL to a CSV file:
var data = [
    {city: "Cracow", population: 754000},
    {city: "Warsaw", population: 1735000}
];

window.exportData = function exportData() {
    alasql("SELECT city, population INTO CSV('cities.csv') FROM ?",[data]);
}

The problem is that numbers get exported without quotes. Is it by design? Is there any way to get them quoted? I've tried CAST(population as TEXT) as population but the numbers are still not quoted
"city";"population"
"Cracow";754000
"Warsaw";1735000

http://jsfiddle.net/LukaszWiktor/kp9ybj35/

Yes, this is by design and follows the RFC for CSV files.
If you want to have it quoted you must loop your data and do something like population = ''.population
It might even work with a alasql("SELECT city, CONCAT(population) INTO CSV('cities.csv') FROM ?",[data]);but not 100% on the last one.
`


fix: updated packaged

Closes #39

This looks like it'll solve an issue we have as well. Thanks for bumping these @brataaaan!


Website update, round 1

Pull Request Test Coverage Report for Build 1053

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 63.367%

Files with Coverage Reduction
New Missed Lines
%

routes/my_api.js
1
63.16%

Totals

Change from base Build 1027:
-0.003%

Covered Lines:
4953

Relevant Lines:
7309

💛  - Coveralls