A user can override claims propagated to a backend service.

Describe the bug
A user can override claims when a configurations uses JWT validator with propagate-claims and headers_to_pass
Your configuration file
{
  "version": 2,
  "endpoints": [
    {
      "endpoint": "/api",
      "output_encoding": "no-op",
      "querystring_params": [
        "*"
      ],
      "extra_config": {
        "github.com/devopsfaith/krakend-jose/validator": {
          "alg": "RS256",
          "jwk-url": "http://keycloak:8080/auth/realms/test/protocol/openid-connect/certs",
          "disable_jwk_security": true,
          "propagate-claims": [
            [
              "scope",
              "x-user-scope"
            ],
            [
              "preferred_username",
              "x-user-username"
            ],
            [
              "email",
              "x-user-email"
            ]
          ]
        }
      },
      "headers_to_pass": [
        "x-user-scope",
        "x-user-username",
        "x-user-email"
      ],
      "backend": [
        {
          "host": [
            "localhost:8080"
          ],
          "url_pattern": "/__debug",
          "encoding": "no-op"
        }
      ]
    }
  ],
  "extra_config": {}
}

Commands used
I have started keycloak locally, configured test realm with one user using command:
docker network create krakend-test

docker run --rm --name keycloak -p 8081:8080 \
  -e KEYCLOAK_USER=admin \
  -e KEYCLOAK_PASSWORD=admin \
  --net krakend-test \
  -d jboss/keycloak:13.0.0

docker exec keycloak /opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --client admin-cli --password admin

docker exec keycloak /opt/jboss/keycloak/bin/kcadm.sh create realms -s realm=test -s enabled=true

docker exec keycloak /opt/jboss/keycloak/bin/kcadm.sh create clients -r test -s clientId=trusted -s enabled=true -s directAccessGrantsEnabled=true -s publicClient=true

docker exec keycloak /opt/jboss/keycloak/bin/kcadm.sh create users -r test -s username=user -s enabled=true -s<EMAIL_ADDRESS>
docker exec keycloak /opt/jboss/keycloak/bin/kcadm.sh set-password -r test --username user --new-password=password

After that I have started krakend:
docker run --rm --name kraken -p 8080:8080 \
  -v "${PWD}/krakend.json:/etc/krakend/config/krakend.json" \
  --net krakend-test \
  devopsfaith/krakend run -d -c /etc/krakend/config/krakend.json

Now I have to authenticate and then use the Access Token to execute request to Krakend
ACCESS_TOKEN=`curl -v -X POST 'localhost:8081/auth/realms/test/protocol/openid-connect/token' \
-u trusted: \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=password' \
-d 'username=user' \
-d 'password=password' | jq -r .access_token`

curl 'localhost:8080/api' -H "Authorization: Bearer ${ACCESS_TOKEN}"

I see everything is fine in krakend logs
[GIN-debug] redirecting request 301: /__debug/ --> /__debug/
2021/06/04 07:57:28  DEBUG: [Method: GET]
2021/06/04 07:57:28  DEBUG: [URL: /__debug/]
2021/06/04 07:57:28  DEBUG: [Query: map[]]
2021/06/04 07:57:28  DEBUG: [Params: [{param /}]]
2021/06/04 07:57:28  DEBUG: [Headers: map[Accept-Encoding:[gzip] Referer:[http://localhost:8080/__debug] User-Agent:[KrakenD Version 1.3.0] X-Forwarded-For:[<IP_ADDRESS>] X-Forwarded-Host:[localhost:8080]<EMAIL_ADDRESS>X-User-Scope:[profile email] X-User-Username:[user]]]
2021/06/04 07:57:28  DEBUG: [Body: ]
[GIN] 2021/06/04 - 07:57:28 | 200 |      170.87µs |      <IP_ADDRESS> | GET      "/__debug/"
[GIN] 2021/06/04 - 07:57:28 | 200 |   28.302619ms |      <IP_ADDRESS> | GET      "/api"

But now I'm going to execute the same request as before but I want to explicitly set headers x-user-email, x-user- username and x-user-scope
curl 'localhost:8080/api' -H "Authorization: Bearer ${ACCESS_TOKEN}" -H 'x-user-email<EMAIL_ADDRESS>-H 'x-user-username: admin' -H 'x-user-scope: admin'

Logs from krakend:
[GIN-debug] redirecting request 301: /__debug/ --> /__debug/
2021/06/04 08:00:48  DEBUG: [Method: GET]
2021/06/04 08:00:48  DEBUG: [URL: /__debug/]
2021/06/04 08:00:48  DEBUG: [Query: map[]]
2021/06/04 08:00:48  DEBUG: [Params: [{param /}]]
2021/06/04 08:00:48  DEBUG: [Headers: map[Accept-Encoding:[gzip] Referer:[http://localhost:8080/__debug] User-Agent:[KrakenD Version 1.3.0] X-Forwarded-For:[<IP_ADDRESS>] X-Forwarded-Host:[localhost:8080]<EMAIL_ADDRESS><EMAIL_ADDRESS>X-User-Scope:[admin profile email] X-User-Username:[admin user]]]
2021/06/04 08:00:48  DEBUG: [Body: ]
[GIN] 2021/06/04 - 08:00:48 | 200 |     173.059µs |      <IP_ADDRESS> | GET      "/__debug/"
[GIN] 2021/06/04 - 08:00:48 | 200 |    27.46322ms |      <IP_ADDRESS> | GET      "/api"

As you can see these headers are wrong now (user can override climes from JWT):

x-user-username contains admin and user
x-user-scope contains admin profile and email
x-user-email contains<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
Expected behavior
headers passed to backend service shouldn't contain headers provided explicitly by user like admin. It allows to execute very bad attacks easily. Of course that behavior is desired only for configuration with propagate-claims.

this should be fixed in v1.4.0 (to be released next week)
this is the related PR: https://github.com/devopsfaith/krakend-jose/pull/63

awesome, thank you :)


Error to use outputs parameters as a name of template

Checklist

[x] Double-checked my configuration.
[x] Tested using the latest version.
[x] Used the Emissary executor.

Summary
What happened/what you expected to happen?
I use gitArtifact for clone a git repository at the first step, On this step it reads a config json file for select that will happen with the next steps, for example omit one step, when I use outputs with a values parameters on other step It works correctly, how ever when I want to use outputs parameters as a name of template, I get an error.  Failed: invalid spec: templates.main.tasks.build-image template reference build-image.{{= jsonpath(tasks.checkout.outputs.parameters.custom_config, '$.image_builder'}} not found also I try with  Failed: invalid spec: templates.main.tasks.build-image template reference build-image.{{tasks.checkout.outputs.parameters.custom_config}} not found but I get the same result.
With the inputs or workflow parameters It works correctly.
I would like to use output parameters in others fields than anyhow value parameters on steps
What version are you running?
Kubernetes: 1.22.9
Argo workflows: 3.3.6
Diagnostics
First step
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: checkout
spec:
  entrypoint: main
  templates:
    - name: main
      inputs:
        artifacts:
          - name: git-clone
            path: "XXXXXXXX"
            git:
              branch: "XXXXXXXX"
              depth: 1
              repo: "XXXXXXXX"
              singleBranch: true
              sshPrivateKeySecret:
                name: github
                key: id_rsa
              insecureIgnoreHostKey: true
      outputs:
        parameters:
          - name: custom_config
            valueFrom:
              path: "PATH_OUTPUT_FILE"
      container:
        image: python:latest
        command:
          - "python"
        args:
          - "/utils/script.py"

main template
apiVersion: argoproj.io/v1alpha1
kind: ClusterWorkflowTemplate
metadata:
  name: main
spec:
  entrypoint: main
  templates:
    - name: main
      inputs:
        parameters:
          - name: URL
          - name: BRANCH
      dag:
        tasks:
        - name: checkout
          templateRef:
            name: checkout
            template: main
        - name: build-image
          templateRef:
            name: build-image
            template: "{{= jsonpath(tasks.checkout.outputs.parameters.custom_config, '$.image_builder') }}"
          depends: "checkout"

I don't get any logs, because the workflow doesn't start

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

Also have this issue:
            templateRef:
              name: argocd-publish
              template: "{{ item.syncPolicy }}"
              clusterScope: true

Failed: invalid spec: templates.ci-pipeline-git-tag.tasks.publish template reference argocd-publish.{{ item.syncPolicy }} not found

facing same issue trying to use an expression while providing workflow name. expression is not being evaluated
      resource:         action: create         manifest: |           apiVersion: argoproj.io/v1alpha1           kind: Workflow           metadata:             generateName: ci-{{inputs.parameters.git-repo-name}}-{{=sprig.lower(inputs.parameters.docker-git-branch)}}-


Update keymap.txt based on Xkeyboard pattern

Thanks but there seems to be some mistakes. For example there is a ∞ on the ; key which shouldn't be there, you replaced ˇ with ˇ̏ which is incorrect, and so on. You can find more mistakes by looking at the diff.
Also, please use English instead of French.

Does it look okay now? Thanks.


Disable DELETE WI REST Endpoint

Don't deal with hard/soft delete at this point. 'Remove' or similar is a state change.
Ref https://docs.google.com/spreadsheets/d/1iQ3MBitXy5zWAvxWzHQKtXuv5SWs_uUCQvrqngfm5K8/edit#gid=1707309919
and
https://docs.google.com/spreadsheets/d/1iQ3MBitXy5zWAvxWzHQKtXuv5SWs_uUCQvrqngfm5K8/edit?disco=AAAAA8SG9fg

What about other deletes like deleting a link?

I would think deleting a link would be OK.... this is recoverable and would
be captured in the history?...
On Wed, Mar 22, 2017 at 11:51 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

What about other deletes like deleting a link?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/1036#issuecomment-288444276,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwqyKCKeE5l7e1E7Y5H8gawE915Kt0ks5roUOPgaJpZM4MlY5f
.

I would think deleting a link would be OK.... this is recoverable and would
be captured in the history?...

Non of the history thing going on under the covers is currently exposed. But deleting a link is special since we don't have a state field for a link and it makes no sense to have one IMHO. Currently it uses the same mechanisms as a work item, which (at least for now) is a field deleted_at that is only set when the item or link is deleted.

The user can recreate the link, is what I meant by recoverable, the action
can be repeated, the WI may still be accessible. The state field will be on
the WI it is linking to? So you would know the state of the WI you are
linking to. There was feedback, that there is value in this.
On Thu, Mar 23, 2017 at 3:08 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

I would think deleting a link would be OK.... this is recoverable and would
be captured in the history?...
Non of the history thing going on under the covers is currently exposed.
But deleting a link is special since we don't have a state field for a link
and it makes no sense to have one IMHO. Currently it uses the same
mechanisms as a work item, which (at least for now) is a field deleted_at
that is only set when the item or link is deleted.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/1036#issuecomment-288634936,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq4YjnGyWPc9OQKNvnsmAfmMlGWdHks5rohp3gaJpZM4MlY5f
.


token lifetime

You say 'Nonpersistent session tokens have a lifetime of 24 hours.'  Then you say the access token lifetime is by default 1 hour, max 24 hours. Then you give an example of more frequent updating of session tokens of 2 hours. To me this is a bit contradicting, so what is the default and the max for the access token lifecycle? Is session token and access token the same concept? Is is possible to set a policy for access tokens to 48 hours? Finally, is it possible to edit the policy directly in the json file/application manifest on the Azure portal?

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

ID: 02ff3d62-dc0e-ad0c-f5ae-418337cf31e4
Version Independent ID: d50952b5-6b98-c40d-d3a3-f9cbec58dd28
Content: Configurable token lifetimes in Azure Active Directory
Content Source: articles/active-directory/active-directory-configurable-token-lifetimes.md
Service: active-directory
GitHub Login: @hpsin
Microsoft Alias: hirsin

@loup73 Thanks for your feedback! We will investigate and update as appropriate.

@loup73 We will now proceed to close this thread. If there are further questions regarding this matter, please open a new issue and we will gladly continue the discussion.


JSX syntax of the form foo:bar</foo:bar> breaks syntax coloring

We've using this form of jsx for a while and it looks like the recent release is breaking the syntax coloring. Please refer the attached image for more information.

I think I removed namespaced components in version 0.3.3 which is pretty old. As far as I could tell they were in the JSX specification but not part of the React spec. I can put them back. As a matter of interest what are you using them for?

Babel complains about namespaces so I guess you are using another type of DOM system?

I guess we are using some kind of custom transform (to convert foo:param) before applying babel transforms and that is probably why babel doesn't complain. I guess it doesn't make much sense to support this form when babel doesn't it support it?

Thinking about this I've decided not to include this in the grammar as it isn't Babel nor a React standard. Sorry if this is an issue for you.

This is namespaced JSX, and it is part of the JSX Specification draft: https://facebook.github.io/jsx/
### Elements

JSXNamespacedName :
  JSXIdentifier : JSXIdentifier

Would you accept a PR to help implement this?

As @sebmarkbage mentioned, we use the syntax for our internationalization library and use a transform other than React's bundled JSXTransformer to support the colon-separated namespaces.
Nuclide currently lists 'language-babel' in its package-deps to give Nuclide users a JS grammar that supports JSX, but we need to add colon-separated namespaces in order to support our internationalization library's use case.

Ok, I'll put the namespace option back in to the grammar. It also appears in other places but I will do it sometime this weekend.

@gandm Great, thanks a lot. Getting syntax highlighting back will make a lot of developers here happy.


https://pkg.go.dev/encoding/base64 does not have an EncodeString() function but has a DecodeString() function

It should be fixed.
https://pkg.go.dev/encoding/base64
There's no reason that the functions shouldn't conform on encoding and decoding.

There is EncodeToString
https://pkg.go.dev/encoding/base64#Encoding.EncodeToString
Also Github issue is for issue tracker only, if you think it a proposal please change title with prefix  "proposal:"  instead of bug form.

That isn't conforming to the standard of the decode function that accepts a
string.
On Mon, Feb 21, 2022 at 2:21 PM Meng Zhuo @.***> wrote:

There is EncodeToString
https://pkg.go.dev/encoding/base64#Encoding.EncodeToString
Also Github issue is for issue tracker only, if you think it a proposal
please change title with prefix "proposal:" instead of bug form.
—
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/51287#issuecomment-1046460602, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFVCSKIG5V2I74AYOSDPXTU4G4TTANCNFSM5O5OMJUA
.
You are receiving this because you authored the thread.Message ID:
@.***>

AFAIK there is no "standard" of decode functions, only MarshalXXXX for encoding interfaces.
Grepping "EncodeString" shows nothing but testcase for json.
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

I'm not concerned with "as far as you know".
I'm concerned with the fact that there is a DecodeString function and there
is no EncodeString function.
Andrew
On Mon, Feb 21, 2022 at 2:33 PM Meng Zhuo @.***> wrote:

AFAIK there is no "standard" of decode functions, only MarshalXXXX for
encoding interfaces.
Grepping "EncodeString" shows nothing but testcase for json.
Unlike many projects, the Go project does not use GitHub Issues for
general discussion or asking questions. GitHub Issues are used for tracking
bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions
—
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/51287#issuecomment-1046465642, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFVCSIWLXTBM5S664WEROLU4G6ABANCNFSM5O5OMJUA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Why did you close this, I opened another issue to remove the DecodeString() function if there is not going to be an EncodeString() function.
https://github.com/golang/go/issues/51288


为什么不支持在移动端播放呢？

By my test it was really supported to play any flv video on any phone which supports HTML5. Well you have any detail about your device and browser?

iOS Safari 不支持 MSE
腾讯X5不支持 MSE
等等等等

需要移动端支持MSE才可以，目前只有安卓4.4.4以后支持。
http://caniuse.com/#search=mse


Did I get enough iterations in my training process?

Dear Anton Osokin：
Thanks a LOT for your helpful code, I'm trying to apply it on my own datasets but confused about setting some parameters，since I change the data used for training while keeping most parameters setting unchanged, the mAP is not good definitely， However, after 30000 iterations (15 epochs with batch size as 8), I only get 4.7%  and it never increases in the next 50000 iterations. Difficult to judge from the loss values so I want to know whether my training process getting enough iterations and which parameters are vital to the effect of the model when I change the datasets.
Any response would be appreciated! Thanks for your time!

Hi, I can say two things:

On a new dataset, I'd start with the model OS2D V2-init - it should work without any training. If it does not produce any meaningful results I think training is not likely to help.
When moving to a new dataset train.dataset_scale and eval.dataset_scales are critical since they are somewhat defining the expected object size. For our subsets, even with an image pyramid, we had to set these scales to different values.
Best,
Anton

THANK YOU SO MUCH!!!
------------------ 原始邮件 ------------------
发件人:                                                                                "aosokin/os2d"<EMAIL_ADDRESS>发送时间: 2020年11月19日(星期四) 晚上10:47
收件人<EMAIL_ADDRESS>抄送: "0"<1309424778<EMAIL_ADDRESS>主题: Re: [aosokin/os2d] Did I get enough iterations in my training process? (#8)
Hi, I can say two things:
On a new dataset, I'd start with the model OS2D V2-init - it should work without any training. If it does not produce any meaningful results I think training is not likely to help.
When moving to a new dataset train.dataset_scale and eval.dataset_scales are critical since they are somewhat defining the expected object size. For our subsets, even with an image pyramid, we had to set these scales to different values.
Best,
Anton
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Fix a memory leak in tls_parse_stoc_key_share

same issue for 1.1.1

Merged to 1.1.1 as bdaf55d.
Thanks!


go/types: gotype can easily run into panics

What version of Go are you using (go version)?
go version devel +c3d10e64b9 Wed May 16 21:15:03 2018 +0000 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What did you do?
$ cat ~/f.go
package p

func _(b bool) {
        if b; {
        }
}
$ ./gotype ~/f.go
/home/mvdan/f.go:4:6: missing condition in if statement
/home/mvdan/f.go:4:5: b (variable of type bool) is not used
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x57cf7c]

goroutine 1 [running]:
main.checkPkgFiles.func2()
        /home/mvdan/tip/src/go/types/gotype.go:310 +0x67
panic(0x62d860, 0x7b4d50)
        /home/mvdan/tip/src/runtime/panic.go:494 +0x1b9
go/types.(*Checker).handleBailout(0xc0000d8000, 0xc0000e1dd8)
        /home/mvdan/tip/src/go/types/check.go:215 +0x98
panic(0x62d860, 0x7b4d50)
        /home/mvdan/tip/src/runtime/panic.go:494 +0x1b9
go/types.(*Checker).exprInternal(0xc0000d8000, 0xc00004c800, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/mvdan/tip/src/go/types/expr.go:1498 +0x180c
[...]

What did you expect to see?
Just the syntax error.
What did you see instead?
An internal go/types panic.
I realise that gotype is a debugging tool, but I imagine that we still want it to be robust. The way it currently ignores syntax errors may need some work, as go/types clearly doesn't like semi-broken syntax trees.
Another option is to make go/types error instead of panic when given these semi-broken syntax trees. I don't know whether that's something the package wants to support.
/cc @griesemer @myitcv

I can't reproduce this, at least for the example here. I just get
x.go:4:13: missing condition in if statement

What am I missing?

Just to clarify, these are the full steps from tip:
cd tip/src/go/types
go build gotype.go
./gotype ~/f.go

I still see the crash shown above. How are you running the tool?
Also, we are getting slightly different position information in the error messages. I wonder why that is.

Ok, reproducing now. I suspect that a more recent causes this problem; my older gotype worked. Will investigate (probably next week - I'm out on an internal event this week).

Actually, I wrote the original post wrong - gotype from 1.10.2 built with Go 1.10.2 doesn't crash. And gotype from tip built with Go 1.10.2 doesn't crash either. So this seems like a regression in 1.11's go/types.

git bisect points at this commit, which sounds plausible:
commit 70a04f6880a2082a76f6282361b607f859db950f
Author: Robert Griesemer<EMAIL_ADDRESS>Date:   Tue Feb 13 16:37:51 2018 -0800

    go/types: make gotype continue after syntax errors

    This avoids odd behavior where sometimes a lot of useful
    errors are not reported simply because of a small syntax
    error.

    Tested manually with non-existing files. (We cannot easily
    add an automatic test because this is a stand-alone binary
    in this directory that must be built manually.)

    Fixes #23593.

    Change-Id: Iff90f95413bed7d1023fa0a5c9eb0414144428a9
    Reviewed-on: https://go-review.googlesource.com/93815
    Reviewed-by: Alan Donovan<EMAIL_ADDRESS>

commit c5f3a8b10797258cf527601a44bfdfa63d5ef1a7
Author: Robert Griesemer<EMAIL_ADDRESS>Date:   Thu Jan 11 15:09:38 2018 -0800

    go/parser: more robust error handling for 'if' headers

    R=go1.11

    To fix this, this CL borrows code from the new syntax
    package which has a better tuned parser at this point.

    Fixes #11377.

    Change-Id: Ib9212c945903d6f62abcc59ef5a5767d4ef36981
    Reviewed-on: https://go-review.googlesource.com/87495
    Reviewed-by: Matthew Dempsky<EMAIL_ADDRESS>
causes this specific crash.


Any way to convert a DynamicJaxprTracer variable back into a numpy or print out its values?

Hi,
I'm a student using MuJoCo (MJX) with brax for training a RL policy (currently modifying the Barkour tutorial from here: https://colab.research.google.com/github/google-deepmind/mujoco/blob/main/mjx/tutorial.ipynb). Not sure if relevant, but I am not using collab, instead I am using an IDE to debug the code. I did look at https://jax.readthedocs.io/en/latest/debugging/print_breakpoint.html, but these solutions didn't work for me.
My question is as follows:

I am trying to debug line by line the Barkour tutorial code in order for me to understand what's happening so I can modify it and apply it to my own problem and robot. However, debugging has been challenging because as we convert the (for instance a numpy array) into the jax version of numpy, the debugger and also when I try to print out the variables, turn into the type DynamicJaxprTracer. Once it's in this type and if I try to print out one of the variables, it will look like this instead of giving me the actual value stored within: Traced<ShapedArray(float32[465])>with<DynamicJaxprTrace(level=1/0)>. Is there any way for me to print out or convert this variable either back to a numpy or in another type where I can at least see the values inside a variable of type DynamicJaxprTracer?

Thank you very much for any help or clarification on this,
Sincerely,
Alex

Hi @AlexS28 , you can use https://jax.readthedocs.io/en/latest/_autosummary/jax.disable_jit.html for debugging, or you can return early from a function to get its intermediate value. Hope this helps!

thanks that works


move the action buttons from the toolbars

move the action buttons from the toolbars and into overlays over the content areas themselves

[x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

Contribution guidelines:

See our contributor guide for general expectations for PRs.
Larger or significant changes should be discussed in an issue before creating a PR.
Contributions to our repos should follow the Dart style guide and use dart format.
Most changes should add an entry to the changelog and may need to rev the pubspec package version.
Changes to packages require corresponding tests.

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

Agree that this is a form over function change. This is currently better than #1381 - we paint a background for the buttons, so you won't get the icons intermixed w/ the text (the circular button will still obscure some text).
I'm generally OK w/ this design as the user has some recourse to read the text - scrolling the text area, resizing the editor width, ... . There may very well be a better design out there though - happy to have more iteration here.


Feed: Event title is not responsive

Okk i will resolve it i want take this

@gsoc @rithviknishad

See this is looks good?
and i have one idea that on mobile size only icons showen and event name will be removed

The normal view looks good!
For the mobile view, I don't think icons alone would be readable. We could hide the org name. and make the relative time text smaller. it feels larger than the title

@rithviknishad  Sure, I will do it

@rithviknishad Yup,there is a space so I will do it


Error when saving a new user

When I attempt to save a new user, I get an error:
TypeError in UsersController#create

class or module required for rescue clause

parse_resource (1.8.0) lib/parse_resource/base.rb:401:in `rescue in save'
parse_resource (1.8.0) lib/parse_resource/base.rb:390:in `save'
app/controllers/users_controller.rb:9:in `create'

The user class is pretty simple:
class User < ParseUser
  alias :email :username
  fields :email, :first_name, :last_name
end

I've tried to dig into things, and it appears to be that I'm getting 401 Unauthorized, however, when I do this in the console:
irb(main):005:0> u=User.new
=> #<User:0x007fd314251f40 @unsaved_attributes={}, @attributes={}, @error_instances=[]>
irb(main):006:0><EMAIL_ADDRESS>=><EMAIL_ADDRESS>irb(main):007:0><EMAIL_ADDRESS>=><EMAIL_ADDRESS>irb(main):008:0> u.password='password'
=> "password"

u.resource
=> #<RestClient::Resource:0x007fd31584d358 @url="https://api.parse.com/1/users", @block=nil, @options={:user=>"<AppID Removed>", :password=>"<API Key Removed>"}>
irb(main):006:0> u.create
RuntimeError: Parse error : Unknown Error unauthorized

The user and password fields seem correct. I've tried with both the REST API Key and the Master API Key, but in both cases, calling create brings up the error.
Using the standard parse-ruby-client gem works fine, so I know I've got the keys right.

Having this same error with the User object in parse-rails-boilerplate project. Any updates?

I had same error, I fixed it by removing some unnecessary applicationId, and master key from global.json file


Bug: 404 error while calculating hashes with 2023.8.28

Issue description
when upgrading from pipenv 2023.7.3 to 2023.8.28. First there is very verbose logging for INFO:pipenv.patched.pip._internal.operations.prepare. In another bug.
For some repostories (like nexus) that used to return md5 instead of sha256, pipenv downloads the file and calculates the hash.
It seems that automatic calculation of hash in case md5 is used in nexus it uses incorrect url.
INFO:pipenv.patched.pip._internal.operations.prepare:Collecting wcmatch==8.3 (from semgrep==0.78.0->-r /var/folders/l6/nmk965l50gv_90_c4xh5x0_4ctpk94/T/pipenv-jgl0rhw4-requirements/pipenv-an17je3b-constraints.txt (line 19))
INFO:pipenv.patched.pip._internal.network.download:Using cached https://nexus.company.net/repository/pypi-blessed/packages/wcmatch/8.3/wcmatch-8.3-py3-none-any.whl (42 kB)
Downloading file wcmatch-8.3-py3-none-any.whl to obtain hash...
HTTP error 404 while getting<EMAIL_ADDRESS>Downloading file wcmatch-8.3.tar.gz to obtain hash...
HTTP error 404 while getting<EMAIL_ADDRESS>Downloading file wcmatch-8.3.tar.gz to obtain hash...
Downloading file wcmatch-8.3-py3-none-any.whl to obtain hash...
When resolving downloading hashes part of url is missing. But it works when downloading original whl or tar.gz.
[[source]]
name = "nexus"
url =<EMAIL_ADDRESS>verify_ssl = true
Expected result
It should download from correct url and calculate the hash.
Actual result
It fetches from wrongly build url and gets 404 from the nexus.
Steps to replicate
It seems that this behaviour works for https://pypi.python.org/simple because /simple is at root.
However for<EMAIL_ADDRESS>it does not.
Pipfile:
[[source]]
name = "nexus"
url =<EMAIL_ADDRESS>verify_ssl = true

It seems that hashing seems quite broken in pipenv currently.
Another issue with missing hashes for different naming (case sensitivity, dot vs dash)
What we have in nexus:

and with upgraded pipenv all the hashes are removed.

Same story for pyyaml:

and removed hahes:

Or dots vs dashes:

MarkupSafe is another case for broken hashes.

@matejsp What makes you say it has to do with /simple/ -- from what I can see for non pypi sources, it is trying to find the hashes and package links from:
pkg_url = f"{source['url']}/{ireq.name}/"

Does<EMAIL_ADDRESS>exist in your case?
I notice in your logs:
<EMAIL_ADDRESS>but that seems to be missing the /repository/pypi-blessed/simple part of the path from your original source URL.
This is high on my list to get to the bottom of, your help is appreciated.

My current best guess is there is a relative href on an index that is like<EMAIL_ADDRESS>and that its trying to get the package url from package_url = urljoin(source["url"], package_url)
since your source has a path like /repository/pypi-blessed/simple/ its getting truncated and replaced with the partial relative path on that index page.   Does this sound accurate?

Yes, first part of the log is downloading (or using from cache):
https://nexus.company.net/repository/pypi-blessed/packages/wcmatch/8.3/wcmatch-8.3-py3-none-any.whl
vs (wrongly concated)
<EMAIL_ADDRESS>Md5 is returned when downloading the package from nexus. old uploaded ones have md5 new one have sha256 (but no way to fix old ones).

@matejsp I installed a nexus server locally and explored the issue more, please try out this patch:  https://github.com/pypa/pipenv/pull/5898

So I installed via (btw it would be nice to have it in readme how install itself):
pipenv install -e git+https://github.com/pypa/pipenv.git@hash-collection-refinements#egg=pipenv
And run it across our setup and it works!
It correctly identifies all the hashes (small differences in naming for wheels).
What I like is that this version also correctly resolves and does not lock:

Requires-Dist: exceptiongroup ; python_version < "3.11"

Good job, looking forward to a release with fixed logging and this.

2023.9.1 has been released


property descriptions

Is there a way to add property descriptions?

What do you mean by property descriptions? A comment associated with a property?

Right.. I found the undocumented 'foo : bar' syntax that populates the 'title' for a property. But I believe there's also 'description' for a property. If I create a sub-schema, I can pass it in as the first param to schema(), but haven't found a way of doing it inline.

Yes, that's all you can do, 1. the undocumented syntax and 2. first param of schema, but no way to do it inline. There is no intuitive syntax for this in the inline case that I can think of...

I will close this for now, since it is technically possible, just not the easy way. Feel free to propose an intuitive syntax for this, and if we can come up with something reasonably good, it might be included in the lib.


missing transforms to root transform velodyne

I ran map_server with yaml file and that's what happened.
On RViz everything works fine.
How i can see on Raw Message i can see object of map with all info.
On  yellow 'warning' is posted:
Topic /map has bad frame
Non-root transforms may be out of sync, since webviz uses the latest transform message instead of the one matching header.stamp
How to solve this problem?

Okay, how i can see we can see this problem also about the demo. Whenever you're changing (scene?) you can see that error.
In my case, i just had to select raw message with topic '/map' one more time, and then after a while i have seen my map.


Expose service to both IPv4 and IPv6

Change to listen to [::0] given this will make the application listen on both ipv4 and ipv6. This is useful to enable support for ipv6 only networks.
Given most users will be on v4 only or dual stacked networks it is of course important to make sure that works, in my testing i have not found any case where this change created a problem for those devices.

in my testing i have not found any case where this change created a problem for those devices.

Just so it's clear, what patforms did you test?

"Technically", I guess this would fail on platforms where the IPv6 stack doesn't exist (i.e. if you compile the kernel by explicitly disabling IPv6, which I guess nobody does unless you want to torture yourself). But I guess the number of people doing that is way smaller that the people that want/need IPv6 (i.e. those using NAT64, etc..)

Looks good to me. Can you add an entry to the changelog? Then we can merge.

This doesn't work for IPv4 on Windows :( Dual-stack sockets aren't the default.
Perhaps best to use Ipv6Addr::UNSPECIFIED.into() only on non-windows?

Looks like you're right: https://github.com/rust-lang/rfcs/issues/957
That's really interesting actually

We're aiming for a 0.5 release next week. Would be great to get this in, if you could do the last touch-up. Thanks.

Superseded by #1366


How could i use this version(1.1.1g) for apple watch along with iOS app ?There was a old project  using  the version 1.0.2d which was also support the Apple watch. So now i want to update the openssl version and i am new to  this so i want to know how could i do it ?

Hi @sunilsingh28011, the 1.0.2d version of OpenSSL is end of life and no longer supported for security updates.  I recommend against using that version and adapting the WatchOS project you found to use the long term support 1.1.1 version.
Note, if you do want to build 1.0.2d, you can still do that using the -o option on the build script:
./build.sh -o 1.0.2d

To use the newer version, run build.sh without any options.  Copy the libraries into your WatchOS project that worked with the older OpenSSL version and see if that works.

@jasonacox  Thanks for your reply. I want to update the version but I am new to do this So can you suggest me the step to step guidance, it will be appreciated more? Thanks for your help.

What is the WatchOS project you are working on?  Is it on GitHub?
If you just want to know how to build the latest version, do this from your command line:
git clone https://github.com/jasonacox/Build-OpenSSL-cURL.git
cd Build-OpenSSL-cURL
./build.sh

Once it is complete, you will find the libraries built in the ./archive folder.  Alternatively, you can just use the libraries I recently built by downloading them from here: https://github.com/jasonacox/Build-OpenSSL-cURL/tree/master/examples/iOS%20Test%20App/libs
Install those libraries into your Xcode project.

I would create a backup of the old library, delete it and then install the new version.


Update L4T to 32.6.1 for the following devices

Xavier NX
TX2 NX (TX2 OS image will be updated soon,
please use 32.6.1 only for TX2 NX for now)
Jetson Nano

Change-type: patch
Signed-off-by: Alexandru Costache<EMAIL_ADDRESS>

@balena-ci I self-certify!


Update Error Message to reflect URL Encoded form data

The Receiver_NoFormData error response message (here) is currently misleading about the expected format of the incoming request:
<value>The WebHook request must contain an entity body formatted as HTML Form Data.</value>
I would recommend updating the message to the following to improve clarity of the expected incoming format:
<value>The WebHook request must contain an entity body formatted as HTML form URL-encoded data.</value>
This would match the wording of the MSDN page for the IsFormData method here.

4938597d17


Failed to run on M1Mac

I'm using M1Mac and sd-webui.
I try to add apply_patch in load_model method and it works normally.
But when I want to generate image, it jump out some error and I'm not sure if it is caused by M1 Mac environment/ my fault or some bugs in your repo
So I decide to post it here.
You can just close this issue if you think this is caused by myself.
error message:
/AppleInternal/Library/BuildRoots/c651a45f-806e-11ed-a221-7ef33c48bc85/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MPSNDArray/Kernels/MPSNDArrayGatherND.mm:234: failed assertion `Rank of updates array (1) must be greater than or equal to inner-most dimension of indices array (2048)'
[1]    22333 abort      ./webui.sh
/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Hmm seems the mac implementation of gather might have different requirements. Can you find the exact line in tome's merge.py that causes this? As well as the tensor sizes for that operation.

@dbolya i can do some inspect on it this night
Wait me few hrs

@dbolya I found the reason
https://github.com/dbolya/tomesd/blob/113ddc320c47ce7f5f8f7998798161c0af1fd86a/tomesd/merge.py#L68
This looks like mps doesn't accept index array size < input array

@dbolya I run it on m1 mac successfully now
And it should not affect other device type
I will do more experiment and make pr for it

@dbolya I run it on m1 mac successfully now
And it should not affect other device type
I will do more experiment and make pr for it

@KohakuBlueleaf
I am new to the community. Can you please show me how to plug it into StableDiffusion WebUI and how to fix the error with M1 Chip?
Thank you.

@tvdtran For sd webui
You can just add some line in sd_model.py's load_model method
or install the tome extension
And if you want to fix m1 problem, you can wait me to upload the fix into my fork(

And since my method is to convert the x to cpu when we need to to merge/unmerge
So actually it will comsume a little bit more memory (than invoke AI optimization only)
but the speed is increased after apply patch
maybe we need some more efficient way(

@dbolya I found the reason
https://github.com/dbolya/tomesd/blob/113ddc320c47ce7f5f8f7998798161c0af1fd86a/tomesd/merge.py#L68
This looks like mps doesn't accept index array size < input array

Hmm, this is a big issue because that's required behavior for gather there. I wonder if computing the merge on the CPU is okay? Does performance suffer a lot? If not, I could just wrap those operations in conversions to CPU if using MPS.

@dbolya merge on cpu is ok but the ram usage is increased


naca mesh does not show in gmsh

When I open the included naca msh file in latest gmsh, no mesh is displayed. I also dont get any error in gmsh. Do you know what could be wrong ?

By default new versions of Gmsh read mesh files version 4.0, one in the repository in version 2.0 (and script generates MSH files version 2.0). I do not plan to update the script but rather implement more universal mesh conversion utility.

Please see this also http://onelab.info/pipermail/gmsh/2018/012618.html

Copying 4th column value into 5th column (instead of -1) will fix this issue. I have attached a patch file.
tag.patch.txt


asyncValidate function passed to reduxForm must return a promise

Bug Report
I have described the problem as much as I could in stack overflow. I've also linked another question to my question, which is also similar.
https://stackoverflow.com/questions/49913214/declaring-redux-form-in-both-the-child-and-parent-component-causes-error
Environment
"react": "^16.2.0",
"react-redux": "^5.0.7",
"redux": "^3.7.2",
"redux-form": "^7.2.3",
"redux-thunk": "^2.2.0",

Are you using multiple reduxForm-wrapped components nested inside of each other, or are they siblings? It doesn't surprise me that there's bad behavior around nesting, and it may be worth refactoring around that.

I have the same problem, I use a FieldFormArray


registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

I'm not using this directly, it's crashlytics dependency that is using it, so there nothing I can do about as I know of. If you do please make a PR !
Thanks !


SentryProvider.register

Error Found upon serve
TypeError: this.container.singleton is not a function
1 SentryProvider.register

Prerequisites
We do our best to reply to all the issues on time. If you will follow the given guidelines, the turn around time will be faster.

Lots of raised issues are directly not bugs but instead are design decisions taken by us.
Make use of our forum, or discord server, if you are not sure that you are reporting a bug.
Ensure the issue isn't already reported.
Ensure you are reporting the bug in the correct repo.

Delete the above section and the instructions in the sections below before submitting
Package version
1.1.0
Node.js and npm version
v16.2.0
Sample Code (to reproduce the issue)
Error found after i install the package

I have the same problem

Please install via github branch npm i git://github.com:reg2005/adonis5-sentry.git#update
My colleague @reg2005  will publish update to npm soon

#4 merged, npm package was publish

Thank you so much


Added AVIOContext Wrapper

Added an AVIOContext wrapper for writing (output from ffmpeg). Check out the commit messages for more details.
An example usage is included.
Here are some resources about AVIOContext:

https://www.codeproject.com/Tips/489450/Creating-Custom-FFmpeg-IO-Context
https://libav.org/documentation/doxygen/master/avio_8h.html#a853f5149136a27ffba3207d8520172a5
https://lists.libav.org/pipermail/libav-api/2012-June/000547.html
https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/avio_reading.c

I'm dumb and didn't realize this was a pull request and implemented this myself :crying_cat_face:


Update checkstyle version

Update checkstyle from 6.5 -> 6.11

This will need to wait until a solution is found, see https://github.com/checkstyle/checkstyle/issues/1108

Do not update to 6.8+ The checkstyletask becomes a checkstyleanttask, Unless you know how to fix the problem, leave checkstyle at 6.7


Update stats

Can you explain a bit more in the PR what are the changes you are doing? Thanks

a) This PR updates the stats mapping (between EU and the tools) using the tool IDs Galaxy tool ids instead of the suite name Galaxy wrapper id -> tested on my branch, this now gets all stats for a tool provided they are installed on EU.
b) it also changes the tool availability in the results table. Each server gets one column where the number of tools installed on that server is listed, and there is also a column for Tool count number of tools in that suite. From the individual columns another column is generated which shows the availability of the servers i.e. https://usegalaxy.org.au, https://usegalaxy.eu, https://usegalaxy.fr

Need to check if https://training.galaxyproject.org/api/#/tools/get_psl_json can improve that

Done with: https://github.com/galaxyproject/galaxy_tool_metadata_extractor/pull/120 and https://github.com/galaxyproject/galaxy_tool_metadata_extractor/pull/113


Deactivated 2 tests that were based on wrong behavior and added a new…

Two tests were giving wrong coord result due to missing grid files and were removed for the moment. I added one that uses present grid file.

@Mergifyio update

@Mergifyio update


atlantis-3.14.4 fails Liveness and Readiness probes.

My Atlantis which was working fine in Helm Chart 3.14.3 last week failed in 3.14.4 (released 2 days ago) this week.
$ kubectl describe pod atlantis-0 -n atlantis
...
Events:
  Type     Reason                  Age                  From                     Message
  ----     ------                  ----                 ----                     -------
  Normal   Scheduled               4m16s                default-scheduler        Successfully assigned atlantis/atlantis-0 to ip-10-70-66-96.us-west-2.compute.internal
  Normal   SuccessfulAttachVolume  4m13s                attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-4749d0a5-f17f-44b5-af29-b43435b37bf0"
  Normal   Pulled                  4m8s                 kubelet                  Container image "runatlantis/atlantis:v0.17.5" already present on machine
  Normal   Created                 4m8s                 kubelet                  Created container atlantis
  Normal   Started                 4m8s                 kubelet                  Started container atlantis
  Warning  Unhealthy               16s (x4 over 3m16s)  kubelet                  Liveness probe failed: HTTP probe failed with statuscode: 401
  Warning  Unhealthy               16s (x4 over 3m16s)  kubelet                  Readiness probe failed: HTTP probe failed with statuscode: 401

The health checks fail because this new version suddenly put /healthz under the HTTP Basic Auth realm:
## Bad Helm Chart version 3.14.4
$ kubectl exec -it atlantis-0 -n atlantis -- bash

bash-5.1$ curl -vvv http://localhost:4141/healthz
*   Trying <IP_ADDRESS>:4141...
* Connected to localhost (<IP_ADDRESS>) port 4141 (#0)
> GET /healthz HTTP/1.1
> Host: localhost:4141
> User-Agent: curl/7.78.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 401 Unauthorized
< Content-Type: text/plain; charset=utf-8
< Www-Authenticate: Basic realm="restricted", charset="UTF-8"
< X-Content-Type-Options: nosniff
< Date: Wed, 08 Dec 2021 22:28:15 GMT
< Content-Length: 13
<
Unauthorized
* Connection #0 to host localhost left intact

The expected result (which is the case for 3.14.3) should have been (no Basic Auth realm challenge):
$ kubectl describe pod atlantis-0 -n atlantis
...
Events:
  Type    Reason                  Age   From                     Message
  ----    ------                  ----  ----                     -------
  Normal  Scheduled               14m   default-scheduler        Successfully assigned atlantis/atlantis-0 to ip-10-70-66-96.us-west-2.compute.internal
  Normal  SuccessfulAttachVolume  14m   attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-4749d0a5-f17f-44b5-af29-b43435b37bf0"
  Normal  Pulling                 13m   kubelet                  Pulling image "runatlantis/atlantis:v0.17.0"
  Normal  Pulled                  13m   kubelet                  Successfully pulled image "runatlantis/atlantis:v0.17.0" in 12.485804446s
  Normal  Created                 13m   kubelet                  Created container atlantis
  Normal  Started                 13m   kubelet                  Started container atlantis

## Good Helm Chart version 3.14.3
$ kubectl exec -it atlantis-0 -n atlantis -- bash

bash-5.0$ curl -vvv http://localhost:4141/healthz
*   Trying <IP_ADDRESS>:4141...
* Connected to localhost (<IP_ADDRESS>) port 4141 (#0)
> GET /healthz HTTP/1.1
> Host: localhost:4141
> User-Agent: curl/7.69.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Wed, 08 Dec 2021 22:51:13 GMT
< Content-Length: 20
<
{
  "status": "ok"
* Connection #0 to host localhost left intact
}

The problem might be with the Atlantis version rather than Helm Chart version. Based on the above Kubernetes events, here's the mapping:

Helm Chart v3.14.4: Atlantis Container image runatlantis/atlantis:v0.17.5
Helm Chart v3.14.3: Atlantis Container image runatlantis/atlantis:v0.17.0

I'm having the same issue, seems to be related to the new basichauth field

No one is going to help us?

Should be fixed in latest release, sorry!


Switch to Static Assets with RCL

Starting with the release of .NET Core 3.0 it is now possible to embed static data into a razor class library without any third party technology. This feature is described in the Microsoft Docs.
As there is a first party solution the dependency on EmbeddedBlazorContent should be removed and the first party solution should be taken. This is a breaking change. Users will need to initialize their library different than now.
I could provide a pull request for that, if desired.

Will give that a try

This issue appears to be resolved. Please re-open if there is still an issue.


Add [ATTRIBUTE: VALUE] shorthand

[ATTRIBUTE: VALUE] would be the same as [ATTRIBUTE(VALUE)], but avoids the parens.

This has been done!


enable fixed timestamp

Hi Lucas,
This fix, enables fixed timestamp in saved cells, which allows having the same hash for files that do not change
You can see the test failing here, until the next gdspy release comes out
https://github.com/gdsfactory/gdsfactory/blob/253/pp/tests/test_hash.py
something I was not able to fix was the case that contains a CellArray on the same test_file. How could we fix that?

Looks good, thanks!

great, thank you Lucas,
could you make a new release for this?
also for the GDS files that have cellarrays the hash changes even when fixing the time stamp, how would you fix this?

As soon as #180 is fixed and merged, I believe we can release.

Perfect, thank you Lucas
On Fri, Jun 4, 2021, 3:49 AM Lucas H. Gabrielli @.***>
wrote:

As soon as #180 https://github.com/heitzmann/gdspy/pull/180 is fixed
and merged, I believe we can release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/heitzmann/gdspy/pull/179#issuecomment-854612489, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCOEKUR5S5AFHBWZLLEL4DTRCVUJANCNFSM46AZG7SA
.


Add parameters to -Run for scripts

When executing a script, add the ability to specify positional parameters, e.g., gradle build -PmyProp={1} -PmySecondProp={2}.
{0} would contain the name of the script being executed. {1}, {2}, ... {n} would be interpolated by the processor into the positional parameters.
For the above example the command in the terminal would look something like pwr -run build, myPropValue, mySecondPropValue.

Closed by #26


Dependency scanning now centralised

A preview version of github's api contains an endpoint for repository dependencies, so this has been replaced with a centralised report - https://github.com/ministryofjustice/opg-repository-reporting

@charlesmmarshall - does this still need to be merged?

Please - I had missed the approval notification of this one. It's just some clean up as we don't need that workflow any more 👍


Feature/rx disposable

I've added a reactive disposable mixin to make it easier to dispose of stream listeners. With this mixin, there is no need anymore to store and close stream subscriptions for simple stream listeners.

Codecov Report

Merging #52 (e1d309b) into master (d2490c5) will decrease coverage by 0.85%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #52      +/-   ##
==========================================
- Coverage   95.10%   94.25%   -0.86%
==========================================
  Files          43       44       +1
  Lines         552      557       +5
==========================================
  Hits          525      525
- Misses         27       32       +5

Impacted Files	Coverage Δ
lib/src/utils/disposable.dart 0.00% <0.00%> (ø)
Continue to review full report at Codecov.

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

I'll take a look into this later this week.

Hi @jopmiddelkamp, do you have any updates on this?


latest.yml error

Im using electron-updater;
its throwing: Cannot find channel "latest.yml" update info: HttpError: 404
config:
const { autoUpdater } = require("electron-updater") const server = "https://hazel.mineinfo80.now.sh/"; const feed = "${server}/update/${process.platform}/${app.getVersion()}";

I get the same error.

same

Hello, mb you have double-"/" ? Cuz your server constant ended on '/' and feed is {server}/..
Seems like result feed is https://hazel.mineinfo80.now.sh//update...

Same problem, package is not usable like this @electron-updater/autoUpdater. Maybe its not supposed to be compatible with this.

Same problem, package is not usable like this with @electron-updater/autoUpdater. Maybe hazel is not supposed to be compatible...

Same error.

any one explane for this error? is Hazel is support for private repo and download release ???

Same error here

I changed some files to make electron-updater works well.
I'm an amateur and only using Windows, so I can't insure if these codes work well.
./lib/routes.js
...
  exports.update = async (req, res) => {
    const { filename, platform: platformName } = req.params;

    const platform = checkAlias(platformName);

    const isBlockmap = filename.includes(".blockmap");

    const latest = await loadCache();

    if (shouldProxyPrivateDownload) {
      if (latest.ymls['win'] && filename === "latest.yml") {
        proxyPrivateDownload(latest.ymls["win"], req, res);
        return
      } else if (latest.ymls['mac'] && filename === "latest-mac.yml") {
        proxyPrivateDownload(latest.ymls["mac"], req, res);
        return
      } else if (latest.ymls['linux'] && filename === "latest-linux.yml") {
        proxyPrivateDownload(latest.ymls["linux"], req, res);
        return
      }

      const { platforms, blockmaps } = latest;

      if (!platform || !platforms || !platforms[platform] ) {
        send(res, 404, 'No download available for your platform!')
        return
      }

      if (isBlockmap) proxyPrivateDownload(blockmaps[platform], req, res);
      else proxyPrivateDownload(platforms[platform], req, res);

      return
    }

    if (latest.ymls['win'] && filename === "latest.yml") {
      res.writeHead(302, {
        Location: latest.ymls["win"].url
      })
      res.end()
      return
    } else if (latest.ymls['mac'] && filename === "latest-mac.yml") {
      res.writeHead(302, {
        Location: latest.ymls["mac"].url
      })
      res.end()
      return
    } else if (latest.ymls['linux'] && filename === "latest-linux.yml") {
      res.writeHead(302, {
        Location: latest.ymls["linux"].url
      })
      res.end()
      return
    }

    const { platforms, blockmaps } = latest;

    if (!platform || !platforms || !platforms[platform] ) {
      send(res, 404, 'No download available for your platform!')
      return
    }

    res.writeHead(302, {
      Location: isBlockmap ? blockmaps[platform].url : platforms[platform].url
    })
    res.end()
  }
...

./lib/platform.js
...
  const extension = fileName.includes(".blockmap") ? extname(fileName.replace('.blockmap', '')).slice(1) : extname(fileName).slice(1)
...

./lib/cache.js
...
    // Clear list of download links
    this.latest.platforms = {}
    this.latest.blockmaps = {}
    this.latest.ymls = {}

    for (const asset of release.assets) {
      const { name, browser_download_url, url, content_type, size } = asset

      if (name === "latest.yml") {
        this.latest.ymls["win"] = {
          name,
          api_url: url,
          url: browser_download_url,
          content_type,
          size: Math.round(size / 1000000 * 10) / 10,
        }
        continue
      }

      if (name === "latest-mac.yml") {
        this.latest.ymls["mac"] = {
          name,
          api_url: url,
          url: browser_download_url,
          content_type,
          size: Math.round(size / 1000000 * 10) / 10,
        }
        continue
      }

      if (name === "latest-linux.yml") {
        this.latest.ymls["linux"] = {
          name,
          api_url: url,
          url: browser_download_url,
          content_type,
          size: Math.round(size / 1000000 * 10) / 10,
        }
        continue
      }

      if (name === 'RELEASES') {
        try {
          if (!this.latest.files) {
            this.latest.files = {}
          }
          this.latest.files.RELEASES = await this.cacheReleaseList(
            browser_download_url
          )
        } catch (err) {
          console.error(err)
        }
        continue
      }

      const platform = checkPlatform(name)

      if (!platform) {
        continue
      }

      if (name.includes(".blockmap")) {
        this.latest.blockmaps[platform] = {
          name,
          api_url: url,
          url: browser_download_url,
          content_type,
          size: Math.round(size / 1000000 * 10) / 10
        }
        continue
      }

      this.latest.platforms[platform] = {
        name,
        api_url: url,
        url: browser_download_url,
        content_type,
        size: Math.round(size / 1000000 * 10) / 10
      }
    }
...

./lib/index.js
...
  // Define a route for every relevant path
  router.get('/update/:platform/:filename', routes.update);
...

and then I removed autoUpdater.setFeedURL({ url }) and added some stuff at electron.js:
const { AppImageUpdater, MacUpdater, NsisUpdater } = require("electron-updater");

let autoUpdater;

const options = {
  provider: 'generic',
  url: `<hazle-url>/update/${process.platform}`
}

if (process.platform === "win32") {
    autoUpdater = new NsisUpdater(options)
}
else if (process.platform === "darwin") {
    autoUpdater = new MacUpdater(options)
}
else {
    autoUpdater = new AppImageUpdater(options)
}

any solutions made yet ?

I changed some codes to make electron-updater work well. these codes will add /files route on your server, serving each release file directly.
./lib/routes.js
...
  // aded new lines below exports.releases
  exports.files = async (req, res) => {
    const { filename } = req.params;
    const latest = await loadCache();

    if (!latest.files[filename]) {
      send(res, 404, `can't load ${filename}`)
      return
    }

    if (shouldProxyPrivateDownload) {
      proxyPrivateDownload(latest.files[filename], req, res);
      return
    }

    res.writeHead(302, {
      Location: latest.files[filename].url
    })
    res.end()
  }
...

./lib/cache.js
...
    // Clear list of download links
    this.latest.platforms = {}
    this.latest.files = {}

    for (const asset of release.assets) {
      const { name, browser_download_url, url, content_type, size } = asset

      // added new lines
      this.latest.files[name] = {
        name,
        api_url: url,
        url: browser_download_url,
        content_type,
        size: Math.round(size / 1000000 * 10) / 10
      }

      if (name === 'RELEASES') {
...

./lib/index.js
...
  // Define a route for every relevant path
  ...
  router.get('/files/:filename', routes.files);
...

and then I removed autoUpdater.setFeedURL({ url }) and added dev-app-update.yml at ./
provider: generic
url: <hazel-server-url>/files

Thanks this one did the trick

I changed some codes to make electron-updater work well. these codes will add /files route on your server, serving each release file directly.
./lib/routes.js
...
  // aded new lines below exports.releases
  exports.files = async (req, res) => {
    const { filename } = req.params;
    const latest = await loadCache();

    if (!latest.files[filename]) {
      send(res, 404, `can't load ${filename}`)
      return
    }

    if (shouldProxyPrivateDownload) {
      proxyPrivateDownload(latest.files[filename], req, res);
      return
    }

    res.writeHead(302, {
      Location: latest.files[filename].url
    })
    res.end()
  }
...

./lib/cache.js
...
    // Clear list of download links
    this.latest.platforms = {}
    this.latest.files = {}

    for (const asset of release.assets) {
      const { name, browser_download_url, url, content_type, size } = asset

      // added new lines
      this.latest.files[name] = {
        name,
        api_url: url,
        url: browser_download_url,
        content_type,
        size: Math.round(size / 1000000 * 10) / 10
      }

      if (name === 'RELEASES') {
...

./lib/index.js
...
  // Define a route for every relevant path
  ...
  router.get('/files/:filename', routes.files);
...

and then I removed autoUpdater.setFeedURL({ url }) and added dev-app-update.yml at ./
provider: generic
url: <hazel-server-url>/files

thanks for this, it really did the trick. Have to make some edits to suite my bundled app

I changed some codes to make electron-updater work well. these codes will add /files route on your server, serving each release file directly.
./lib/routes.js
...
  // aded new lines below exports.releases
  exports.files = async (req, res) => {
    const { filename } = req.params;
    const latest = await loadCache();

    if (!latest.files[filename]) {
      send(res, 404, `can't load ${filename}`)
      return
    }

    if (shouldProxyPrivateDownload) {
      proxyPrivateDownload(latest.files[filename], req, res);
      return
    }

    res.writeHead(302, {
      Location: latest.files[filename].url
    })
    res.end()
  }
...

./lib/cache.js
...
    // Clear list of download links
    this.latest.platforms = {}
    this.latest.files = {}

    for (const asset of release.assets) {
      const { name, browser_download_url, url, content_type, size } = asset

      // added new lines
      this.latest.files[name] = {
        name,
        api_url: url,
        url: browser_download_url,
        content_type,
        size: Math.round(size / 1000000 * 10) / 10
      }

      if (name === 'RELEASES') {
...

./lib/index.js
...
  // Define a route for every relevant path
  ...
  router.get('/files/:filename', routes.files);
...

and then I removed autoUpdater.setFeedURL({ url }) and added dev-app-update.yml at ./
provider: generic
url: <hazel-server-url>/files

I am Facing Same Issue But I am working with github releases with private repo , ANY  HELP  in my case?

I changed some codes to make electron-updater work well. these codes will add /files route on your server, serving each release file directly.
./lib/routes.js
...
  // aded new lines below exports.releases
  exports.files = async (req, res) => {
    const { filename } = req.params;
    const latest = await loadCache();

    if (!latest.files[filename]) {
      send(res, 404, `can't load ${filename}`)
      return
    }

    if (shouldProxyPrivateDownload) {
      proxyPrivateDownload(latest.files[filename], req, res);
      return
    }

    res.writeHead(302, {
      Location: latest.files[filename].url
    })
    res.end()
  }
...

./lib/cache.js
...
    // Clear list of download links
    this.latest.platforms = {}
    this.latest.files = {}

    for (const asset of release.assets) {
      const { name, browser_download_url, url, content_type, size } = asset

      // added new lines
      this.latest.files[name] = {
        name,
        api_url: url,
        url: browser_download_url,
        content_type,
        size: Math.round(size / 1000000 * 10) / 10
      }

      if (name === 'RELEASES') {
...

./lib/index.js
...
  // Define a route for every relevant path
  ...
  router.get('/files/:filename', routes.files);
...

and then I removed autoUpdater.setFeedURL({ url }) and added dev-app-update.yml at ./
provider: generic
url: <hazel-server-url>/files

I am Facing Same Issue But I am working with github releases with private repo , ANY HELP in my case?
You have to setup Github credentials on hazel before deploy and then it will download the artifact correctly I had the same use case.


Error: Could not find a part of the path '\dotnet-sqldb-tutorial-master\dotnet-sqldb-tutorial-master\DotNetAppSqlDb\bin\roslyn\csc.exe'.

I tried to run this project but I keep on getting this issue. Any help is appreciated.
Could not find a part of the path '\dotnet-sqldb-tutorial-master\dotnet-sqldb-tutorial-master\DotNetAppSqlDb\bin\roslyn\csc.exe'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.DirectoryNotFoundException: Could not find a part of the path '\dotnet-sqldb-tutorial-master\dotnet-sqldb-tutorial-master\DotNetAppSqlDb\bin\roslyn\csc.exe'.

Closing this as I found solution here: https://github.com/MicrosoftDocs/azure-docs/issues/15673#issuecomment-427577385


Work on integration with EclipseLink

We found a lot of issues in EclipseLink during testing that should be reported. We added TODO comments in the code for now.
Apart from the issues, the integration needs a bit more love to finally work as good as the hibernate integration.

There is a bug with rendering parameterized IN with empty collection parameters. This results in the following invalid SQL (though H2 apparently accepts this):
xy IN ()

As far is I could figure out, hibernate binds a null parameter in this case and generates:
xy IN (?)

This issue might be fixable in org.eclipse.persistence.internal.databaseaccess.DatabaseCall#translateQueryStringForParameterizedIN.

As far as I can remember, we had some special code in place in the ResolvingQueryGenerator to render the false literal instead of the IN predicate.

This has nothing to do with how blaze-persistence generates JPQL since the problem happens during the inspection of bind parameters during SQL generation performed by Eclipselink.

There is an issue with the eclipselink criteria builder implementation for javax.persistence.criteria.Expression#in(javax.persistence.criteria.Expression<?>...) when passing a single collection valued parameter expression. The current implementation wraps the parameter expression causing the rendering of an additional pair of paranthesis yielding e.g.
xy IN ((?))

So the IN list value becomes a tuple causing type conflicts during query execution. Workaround is to use javax.persistence.criteria.Expression#in(javax.persistence.criteria.Expression<java.util.Collection<?>>).

Just noticed a metamodel bug in eclipselink. ID attributes are optional=true.


[BUG] (I think) Stacked bar charts don't show borders

Expected Behavior
A stacked bar chart, i.e. a bar chart with
options: { ... scales: {xAxes: [{ stacked: true }], yAxes: [{ stacked: true }] } ... }

should display borders around the bars if borderColor is set.
Current Behavior

## Steps to Reproduce (for bugs)
    type: "bar",
    data: {
      labels: ["9/16/2016", "6/21/2017", "12/21/2017"],
      datasets: [
        {data: [10, 20, 38], label: "Transcriptomic",
        backgroundColor: ['rgba(54, 162, 235, 0.2)','rgba(54, 162, 235, 0.2)','rgba(54, 162, 235, 0.2)','rgba(54, 162, 235, 0.2)'],
        borderColor: ['rgba(54, 162, 235, 1)','rgba(54, 162, 235, 1)','rgba(54, 162, 235, 1)','rgba(54, 162, 235, 1)']   },
        {data: [9, 19, 37], label: "Epigenomic",
        backgroundColor: ['rgba(255, 159, 64, 0.2)','rgba(255, 159, 64, 0.2)','rgba(255, 159, 64, 0.2)','rgba(255, 159, 64, 0.2)'],
        borderColor: ['rgba(255, 159, 64, 1)','rgba(255, 159, 64, 1)','rgba(255, 159, 64, 1)','rgba(255, 159, 64, 1)']   },
        {data: [10, 20, 38], label: "Proteomic",
        backgroundColor: ['rgba(153, 102, 255, 0.2)','rgba(153, 102, 255, 0.2)','rgba(153, 102, 255, 0.2)','rgba(153, 102, 255, 0.2)'],
        borderColor: ['rgba(153, 102, 255, 1)','rgba(153, 102, 255, 1)','rgba(153, 102, 255, 1)','rgba(153, 102, 255, 1)']   },
        {data: [0, 19, 28], label: "Imaging",
        backgroundColor: ['rgba(255, 99, 132, 0.2)','rgba(255, 99, 132, 0.2)','rgba(255, 99, 132, 0.2)','rgba(255, 99, 132, 0.2)'],
        borderColor: ['rgba(255,99,132,1)','rgba(255,99,132,1)','rgba(255,99,132,1)','rgba(255,99,132,1)']   }
      ]
    },
    options: {
      title: { display: true, text: "Data Releases", fontSize: 24 },
      scales: {xAxes: [{ stacked: true }], yAxes: [{ stacked: true }] }  // Convoluted way of saying "stacked bar chart please"
    }

Environment

Chart.js version: Pulled it down about a week ago.
Browser name and version: Chrome 54

it seems like adding borderWidth has solved the problem. The reason I was confused is I didn't set the borderWidth for my doughnut chart. I think perhaps there should be a default borderWidth if a borderColor is set, similarly to doughnut charts?

Looks like it should simply need to involve changing https://github.com/chartjs/Chart.js/blob/master/src/elements/element.rectangle.js#L9 to 1

Closing since the change to the default is a breaking change that will likely break a lot of other charts.


Add br compression support

br compression is supported in .netstandard 2.1. For the next release it would be cool to add support for br compression to the server and client

Looks like this will have to wait till .net 4.7.X is released with br support

added library in version 3.0.0


ERROR: Attempting to attach an unknown Portal type. BasePortalHost accepts either a ComponentPortal or a TemplatePortal.

Hello @isaacplmann,
Version: 2.0.0-beta.7
Angular: 4.x
I have attempts to use your beautiful context menu in my local app with my angular component that is going to be injected into another owned module in npm. This owned module was installed as a package in my local app.
Following the basic setup which is to import ContextMenuModule.forRoot into my local app and tested the basic template code provided. But because this component is going to be injected into my another owned module, i receive some errors that I dont understand to fix.
Error A

Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory'
Field 'browser' doesn't contain a valid alias configuration
Can't bind to 'contextMenu' since it isn't a known property of 'span'.

template.html (local app)
<span [contextMenu]="basicMenu">{{ myData() }}</span>
<context-menu>
    <ng-template contextMenuItem let-item>Hello</ng-template>
    <ng-template contextMenuItem let-item>Bye</ng-template>
</context-menu>

template.ts (local app)
@Component({
    changeDetection: ChangeDetectionStrategy.OnPush,
    moduleId: module.id,
    templateUrl: './template.html'
})
@ViewChild(ContextMenuComponent) public basicMenu: ContextMenuComponent;

app.module.ts (another owned module that I installed as package in my local app)
@NgModule({
    imports: [
         ContextMenuModule.forRoot({
             autoFocus: true
         })
    ],
...
exports: [
        ContextMenuModule,
    ]
...

I tried to fix Error A, I went to the another owned module and import  ContextMenuModule.forRoot() again in that module NgModule imports[]. The application compiles and start with no errors but when I Right-Click on the  element, I get this error that I dont understand.

ERROR: Attempting to attach an unknown Portal type. BasePortalHost accepts either a ComponentPortal or a TemplatePortal.

@celestale
I am sorry, I got the same issue.
@celestale said he misplace the imports and it caused this issue. But I don't know how I misplace the imports and wonder how you fixed it.

@DanielYKPan Do you still have your code?


Web can't support more than 1 shadow.

Web Only
My web deployment of a React Native app cannot support more than one linear gradient for <Shadow> elements. New <Shadow> element gradients simply overwrite all previous gradients. I've fixed it by generating a uuid for each <Shadow> and appending it to the id string of each gradient (e.g. id={`top.${uuid}`}, fill={`url(#bottomLeft.${uuid})`}).
1 Shadow:

2 Shadows (notice broken corners):

2 Shadows with fix:

For my sake, let me know if this sounds like a poor solution. Also let me know if you want me to make a PR to add something like this in!

Thanks. I will take a look into it asap. The UUID solution makes absolute sense and it's certainly what I would do.
I like the https://github.com/ericelliott/cuid lib for UUID generation, as they use a timestamp and a counter to avoid id colisions. The .slug() would suit it. Maybe a simple counter would also do it.
You may do a PR if you want to, and I would really appreciate it! Else, tell me so I can implement it asap to fix this.

Just released it under 6.0.6. Many many thanks!


Diagnostics isn't updated after fix sometimes

I haven't found a condition when it happens but sometimes fixing the clangd(clang-tidy) warning, highlight doesn't disappear. The only way to fix it is to restart the vim completely (e! doesn't help).
I'll update this issue as soon as I found the exact condition to reproduce this.

  autocmd BufWipeOut * call lsp#removeFile(expand('<abuf>')->str2nr()) might be the culprit.

@kohnish this lsp author had push some commits perhaps fixed this yesterday, pls check..

Thanks. Unfortunately I migrated to vim-lsc which seems to be more feature rich with  differential diagnostics and hierarchy tree window and etc.
But I'll give lsp try again sometime and if I encounter this issue, I'll reopen this ticket.

well, you can think this is lightweight and faster lsp client,
besides you can customize some feature or local hack something by you own, that maybe some interesting thing, is'nt it?
// rich always meant complex in nowdays, haha............ so do you like simple or rich? :-)


Plex Assistant fails to initialize if Plex has disabled/empty Music library

Plex Assistant version: v1.1.4
Plex Version: <IP_ADDRESS>79
Home Assistant Version: 2021.2.3
Error on start of Home Assistant:
2021-02-28 17:02:15 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry MEDIA-SERVER for plex_assistant
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 239, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/config/custom_components/plex_assistant/__init__.py", line 76, in async_setup_entry
    pa = await hass.async_add_executor_job(pa_executor, server, list(start_script.keys()))
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/plex_assistant/__init__.py", line 72, in pa_executor
    _pa = PlexAssistant(_server, start_script_keys)
  File "/config/custom_components/plex_assistant/plex_assistant.py", line 14, in __init__
    self.music_id = self.get_section_id("artist")
  File "/config/custom_components/plex_assistant/plex_assistant.py", line 43, in get_section_id
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 239, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/config/custom_components/plex_assistant/__init__.py", line 76, in async_setup_entry
    pa = await hass.async_add_executor_job(pa_executor, server, list(start_script.keys()))
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/plex_assistant/__init__.py", line 72, in pa_executor
    _pa = PlexAssistant(_server, start_script_keys)
  File "/config/custom_components/plex_assistant/plex_assistant.py", line 14, in __init__
    return self.library.search(libtype=section, limit=1)[0].librarySectionID
IndexError: list index out of range
    self.music_id = self.get_section_id("artist")
  File "/config/custom_components/plex_assistant/plex_assistant.py", line 43, in get_section_id
    return self.library.search(libtype=section, limit=1)[0].librarySectionID
IndexError: list index out of range

Testing/fix:

Initially noted this upon trying to test/use PA for the first time; I had installed/configured the integration quite some time ago but never got around to actually using it.
When I first used it, it failed. The logs pointed me to 'plex_assistant.command' service not being present. On further review I noted the above error when Plex was booting.
I have always had 'Music' removed/disabled in Plex Media server as I only use it for video content.

Fix:

Attempt1 (fail): Re-enable/enable the Music library; pointing at empty directory. No change; same boot error.
Attempt2 (success): Place single MP3 file in Music library location; after having Plex scan the library and confirming the MP3 was being seen in Plex, Home Assistant no longer reported the above error on boot and PA started to work as expected.

Thanks, should be good in 1.1.5

Updated to v 1.1.5, removed my Music library from Plex & rebooted - no errors!
Can confirm that issue appears resolved; thanks for the quick fix!


Created ArchiveCommitee and ArchiveTopicList components

Resolves #113
Replaces PR #116
Created two components per spec. Note that ArchiveTopicList currently does not implement resource components to render resources (as it hasn't been written yet)

Yeah, I temporarily put the component in home.js and tested it with a few committee names in browser after the most recent commit. Merged.


Fix telemetry WASM with OCI tests on Openshift

Please provide a description of this PR:
Fixes: #54271
This PR complements https://github.com/istio/istio/pull/54272
First https://github.com/istio/istio/pull/54272 should be merged.
Fix telemetry "TestGatewaySelection" and "TestImagePullPolicy" tests on Openshift.
The above mentioned tests are testing WASM configuration with OCI based images.
The "fake image registry" server is used to redirect the test OCI based requests to the environment registry.
In Kind based environment, such registry is a "kind-registry" container, running alongside with the Kind kubernetes cluster. The "kind-registry" is a flat registry and does not require any authentication to be made.
The "fake image registry" server simulates authentication by using a hardcoded credentials on both sides - client and server. And then matches between them.
In Openshift based environment, the Openshift internal registry is used. Internal Openshift registry required authentication to be used and uses tokens to perform it.
This patch introduces a new flow, to use a token based authentication for both environment - Kind and Openshift.
The token is taken from the created service account, with relevant permissions and used by the client to send the request to the registry through the "fake image registry" server.

Create service account and assign it a nessesary permission to interact with registry. The token will be generated automatically with SA creation.
Create a SA secret with "service-account-token" type to contain the "token", which will be fetched later by the test.
Add a function to fetch the token from the secret.
Add conditions to use the the relevant registry path and image path according to the used environment.

Hi @MaxBab. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

/ok-to-test

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-discovery

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-discovery

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-discovery

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-istiodremote

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

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

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test gencheck

lint_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test lint

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-discovery

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-mc

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

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

Test name
Commit
Details
Required
Rerun command

integ-telemetry_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-discovery

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-mc

lint_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test lint

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

This patch is hardly depends on the https://github.com/istio/istio/pull/54272 patch and could be tested only after the mentioned test merged and gcr.io/istio-testing/fake-registry image rebuild.

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

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-mc

lint_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test lint

integ-telemetry_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-discovery

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

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

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-ambient

integ-telemetry-mc_istio
c024d85366d7575e7b72238cc567a2c07d7a3382
link
true
/test integ-telemetry-mc

lint_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test lint

integ-telemetry_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-discovery

integ-telemetry-istiodremote_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-istiodremote

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

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

Test name
Commit
Details
Required
Rerun command

lint_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test lint

integ-telemetry_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-discovery

integ-telemetry-istiodremote_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-mc

integ-ambient_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-ambient

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

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

Test name
Commit
Details
Required
Rerun command

integ-telemetry-istiodremote_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-telemetry-mc

integ-ambient_istio
d5b514466775c59c46430ee9c2e3d5998b6d4ead
link
true
/test integ-ambient

integ-telemetry_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry-discovery

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

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

Test name
Commit
Details
Required
Rerun command

integ-telemetry_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry

integ-telemetry-discovery_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry-discovery

integ-telemetry-istiodremote_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry-istiodremote

integ-telemetry-mc_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-telemetry-mc

integ-ambient_istio
f91d7c87a92964bec7b85a6224a9b8baa7182c34
link
true
/test integ-ambient

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

Closing this PR in favor of https://github.com/istio/istio/pull/54348


Support using our E2E workflow to build a Docker image for releases.

Update our E2E test to use ksonnet not helm to deploy

As part of this we have a slightl loss in test coverage because our
helm test provides some verification that our python tests don't.

Create a releasing environment for workflows that has parameters set
as needed to build using our release cluster.

Related to
#400  Use Argo for releases
#373 Improve our test harness

This change is

Pull Request Test Coverage Report for Build 876

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 31.868%

Totals

Change from base Build 870:
0.0%

Covered Lines:
580

Relevant Lines:
1820

💛  - Coveralls

/test all

Reviewed 2 of 35 files at r1, 4 of 11 files at r2.
Review status: 6 of 37 files reviewed at latest revision, 2 unresolved discussions.

py/deploy.py, line 72 at r3 (raw file):

  util.run(["ks", "env", "add", env], cwd=app_dir)

  for k, v in params.iteritems():

params might be None right?
Should check it first.
Also component should not be None, better check it too.

py/deploy.py, line 145 at r3 (raw file):

    logging.info("Using GCP account %s", account)
    util.run(["kubectl", "create", "clusterrolebinding", "default-admin",
              "--clusterrole=cluster-admin", "--user=" + account])

Why does this have to be run every time?

Comments from Reviewable

There are some conflicts now, please resolve them. And it seems that the coveralls does not report failure now, we could close the issue #155

Review status: 3 of 37 files reviewed at latest revision, 2 unresolved discussions.

py/deploy.py, line 72 at r3 (raw file):
Previously, lluunn (Lun-Kai Hsu) wrote…
params might be None right?
Should check it first.
Also component should not be None, better check it too.

params should never be None; it could be an empty dictionary.
Added a check for component although it too should always be uspplied.

py/deploy.py, line 145 at r3 (raw file):
Previously, lluunn (Lun-Kai Hsu) wrote…
Why does this have to be run every time?

It needs to be run once per cluster. The TFJob operator test creates a new cluster for each test run. We don't reuse clusters.

Comments from Reviewable

@gaocegege Yes we use ksonnet not helm after this PR to deploy the operator.


Type mismatch with identical types displayed

The following two REPL commands produce an incorrect and confusing error message:
> sorter x = (String.toInt x, x)
<function> : String -> ( Maybe Int, String )
> List.sortBy sorter [ "9", "10", "a", "1a" ]
-- TYPE MISMATCH ----------------------------------------------------------- elm

The 1st argument to `sortBy` is not what I expect:

6|   List.sortBy sorter [ "9", "10", "a", "1a" ]
                 ^^^^^^
This `sorter` value is a:

    String -> ( Maybe Int, String )

But `sortBy` needs the 1st argument to be:

    String -> ( Maybe Int, String )

The real cause of the error is that Maybe is not a comparable type. I would guess that this is not the same problem as the one reported in #278, but I didn't try to find the cause in the complier sources.

The following REPL code produces a similar error (seems related so not opening a new issue):
import Url
import Url.Parser exposing ((</>), (<?>), string, fragment, top, parse)
import Url.Parser.Query as Query

urlParser = top <?> Query.string "code" </> fragment identity
url = Url.Url Https.Https "example.org" Nothing "" Nothing Nothing
parse urlParser url
-- TYPE MISMATCH ----------------------------------------------------------- elm

The 1st argument to `parse` is not what I expect:

9|   parse urlParser url
           ^^^^^^^^^
This `urlParser` value is a:

    Url.Parser.Parser (Maybe String -> Maybe String) (Maybe String)

But `parse` needs the 1st argument to be:

    Url.Parser.Parser (Maybe String -> Maybe String) (Maybe String)

I fixed this with https://github.com/elm/compiler/commit/545b1784695500e822c2d044b6b5ed2ab6689552, so my development build is now showing the following:
---- Elm 0.19.1 ----------------------------------------------------------------
Say :help for help and :exit to exit! More at <https://elm-lang.org/0.19.1/repl>
--------------------------------------------------------------------------------
> sorter x = (String.toInt x, x)
<function> : String -> ( Maybe Int, String )
> List.sortBy sorter [ "9", "10", "a", "1a" ]
-- TYPE MISMATCH ---------------------------------------------------------- REPL

The 1st argument to `sortBy` is not what I expect:

4|   List.sortBy sorter [ "9", "10", "a", "1a" ]
                 ^^^^^^
This `sorter` value is a:

    String -> ( Maybe Int, String )

But `sortBy` needs the 1st argument to be:

    String -> comparable

Hint: Only ints, floats, chars, strings, lists, and tuples are comparable.

I think it's possible to do a bit better on the hint. Hopefully mention Maybe not being comparable explicitly. I'll give it a shot at least!

I tried making the hint really extra specific, but I ended up needing to rewrite some code that would be a bit too risky to change this close to a release. I ended up with some logic that should improve the hints on comparable clashes, but not in cases where a comparable constraint is having trouble with a type within a list or tuple.
Anyway, thank you for reporting the error here!