merge bot skipping many PRs: Unable to determine is PR is mergeable

http://submit-queue.k8s.io/#/history shows tens of PRs with the "Unable to determine is PR is mergeable" message.
E.g.,
#30401: Let load and density e2e tests use GC if it's on
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:24 AM
deads2k
#30383: speed up RC scaler
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:20 AM
bbreslauer
#30372: Add user-specified kubectl arguments to addons start script
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:17 AM
dims
#30366: Validate SHA/Tag when checking docker images
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:14 AM
janetkuo
#30327: Use unversioned client in scheduledjobs and set group version to batch/v2alpha1
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:10 AM
ardnaxelarak
#30247: Make more messages respect --quiet flag
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:07 AM
liggitt
#30246: Set user info in CertificateSigningRequest.Spec on create
Unable to determine is PR is mergeable. Will try again later.
Aug 12, 2016 10:55:03 AM

The submit queue ended up having only one p3 PR in the queue.
/cc @eparis

every time this has happened (in quantity > 1-2) it was github api failing. If it doesn't come back we'll need to contact support...

I think someone restarted submit queue and it's fine now.


consider philosophy of when to adopt these practices

after starting a new project and trying to follow these best practices I found myself in a difficult place: when should I be following these practices to make collaboration easier vs when should I ignore them to make understanding the science behind the code more frictionless?
I talked with @matthewross07  a little about this and we couldn't settle on a clear answer. I think our bookdown should include a discussion of this somewhere. It's especially apparent when comparing the goals of students, like me (more focused on generating new science/exploring) vs staff (developing robust tools with clearer vision).
Happy to discuss more in the comments!

Hey, sorry I missed this from a million years ago! I think this would be useful, and here is what I propose:
Must Haves (general code expectations)

literate code/comments (including a README file with the advised contents)
someone review your code prior to any publication as wholistic repository, primary coder identifies the most important areas for review
push to your local repo whenever you're done for the day (poor-mans backup)

Nice to haves (things that paid RA/RS should be doing, but do not impact the function of code):

use of {tidyverse} style guide
ongoing code review through development of project with LOC < 500
related to 2 - frequent (say weekly/whenever you work on a project) integration of that code into the ROSS upstream repo

Only important for lab tools:

formal function documentation (at the very least prior to publication of code/manuscript)
implementation of targets as deemed appropriate (only if targets architecture is sensical, which is another philosphical conversation)

Additional things to consider:
Are you just playing around? If so, don't worry about getting that code reviewed. Put these scripts in a separate folder and  when you go to push other code you're happy with, explicitly say not to review and add a note to your repo README (you could alternatively add this folder to a .gitignore file, but that is probably more appropriate for functional tool/code development than individual tinkering... by committing those scripts, you get the added backup of them on git). When you pull that code into your workflow officially, and it's no longer in that 'scratch' folder
This is my quick word vomit, what am I missing? Does this make sense?


Rotating a MultiPolygonAdapter produces an invalid geoms attribute

Hello, and thanks for the useful library!

I see the rotation code mentions a problem with the GeometryCollection constructor but I don't what that problem is and if it's related.
Expected behavior and actual behavior.
After the rotation I can access the geoms field of the rotated object, instead get a TypeError: 'Polygon' object is not subscriptable:
>>> list(rotated.geoms)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/shapely/geometry/base.py", line 966, in __iter__
    self._update()
  File "/usr/local/lib/python3.7/dist-packages/shapely/geometry/base.py", line 955, in _update
    self._ndim = self.__p__._ndim
  File "/usr/local/lib/python3.7/dist-packages/shapely/geometry/multipolygon.py", line 119, in _ndim
    array = self.context[0][0].__array_interface__
TypeError: 'Polygon' object is not subscriptable

Steps to reproduce the problem.
I wrote a minimal script to reproduce the problem

Script
  from shapely.geometry import shape, mapping, asShape
  from shapely import affinity

  gj = {
      "type": "MultiPolygon",
      "coordinates": [
          [
              [
                  [1336988.5732014342, 7189788.468580844],
                  [1336989.3524378699, 7189773.279752336],
                  [1336994.8070929185, 7189765.875209061],
                  [1337008.4325985918, 7189765.495489079],
                  [1337019.3419086896, 7189771.722899069],
                  [1337028.681613967, 7189782.222171575],
                  [1337029.8504686204, 7189797.031295827],
                  [1337021.2788678291, 7189804.416882307],
                  [1337000.2617479675, 7189805.195312136],
                  [1336997.1448022253, 7189802.081593289],
                  [1336988.5732014342, 7189788.468580844],
              ]
          ]
      ],
  }
  original = asShape(gj)
  assert original.type == "MultiPolygon"

  rotated = affinity.rotate(original, 90, origin="centroid")

  assert rotated.type == "MultiPolygon"

  list(original.geoms)

  restored = mapping(rotated)
  list(rotated.geoms)

The object comes straight from PostGIS, and it's a representation of this OSM way
Operating system
I could reproduce it in two environments:

macOS 11.2 running Python 3.9 and Shapely 1.7.1
Ubuntu running Python 3.7 and Shapely 1.7.1

Shapely version and provenance
Shapely 1.7.1  installed using pip

In the reproducible script, you are using asShape to create the MultiPolygon. This function actually creates a "proxy" object, and not an actual MultiPolygon geometry. Those proxy objects will be deprecated in the upcoming Shapely 1.8 release, and you can use shape instead to convert a geojson-like mapping to a geometry object.
And if replacing asShape with shape in the script above, this actually works correctly. So it seems the bug is specific to the deprecated proxy classes (and thus IMO also not a priority to fix for 1.8).

Thanks, I just tried it and with shape it works on Shapely 1.7.1.
Here's the code with that change, when running doesn't raise exceptions anymore:

from shapely.geometry import shape, mapping, asShape
from shapely import affinity

gj = {
  "type": "MultiPolygon",
  "coordinates": [
      [
          [
              [1336988.5732014342, 7189788.468580844],
              [1336989.3524378699, 7189773.279752336],
              [1336994.8070929185, 7189765.875209061],
              [1337008.4325985918, 7189765.495489079],
              [1337019.3419086896, 7189771.722899069],
              [1337028.681613967, 7189782.222171575],
              [1337029.8504686204, 7189797.031295827],
              [1337021.2788678291, 7189804.416882307],
              [1337000.2617479675, 7189805.195312136],
              [1336997.1448022253, 7189802.081593289],
              [1336988.5732014342, 7189788.468580844],
          ]
      ]
  ],
}
original = shape(gj)
assert original.type == "MultiPolygon"

rotated = affinity.rotate(original, 90, origin="centroid")

assert rotated.type == "MultiPolygon"

list(original.geoms)

restored = mapping(rotated)
list(rotated.geoms)


Assistance with setting up Jest snapshot tests

Has anyone set up snapshot testing with Jest on a Phenomic site?
I'm trying to set up a basic test and it appears that when I use the Link component from the phenomic module it causes the test to fail:
> jest

 FAIL  src/fragments/HomePageWelcome/__tests__/HomePageWelcome.test.js
  ● Test suite failed to run

    TypeError: Cannot read property 'replace' of undefined

      at Object.<anonymous> (node_modules/phenomic/lib/client/index.js:44:47)
      at Object.<anonymous> (node_modules/phenomic/lib/components/PageContainer/component.js:27:15)
      at Object.<anonymous> (node_modules/phenomic/lib/components/PageContainer/index.js:13:18)
      at Object.<anonymous> (node_modules/phenomic/lib/index.js:7:22)
      at Object.<anonymous> (src/fragments/HomePageWelcome/index.js:3:43)
      at Object.<anonymous> (src/fragments/HomePageWelcome/__tests__/HomePageWelcome.test.js:2:50)
      at process._tickCallback (internal/process/next_tick.js:103:7)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        1.524s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

The test file can be found below:
import React from 'react';
import HomePageWelcome from '../../HomePageWelcome'
import renderer from 'react-test-renderer'

test('Home page renders correctly', () => {

  const component = renderer.create(
    <HomePageWelcome
      title={'Espress'}
      video={'https://player.vimeo.com/video/192311619?badge=0&byline=0&portrait=0&title=0&color=388E3C&autoplay=1'}
      cta={ {label: 'Get Started', link: '/register'} }
      hero={'assets/welcome-bg.jpg'} />
  )

  let tree = component.toJSON()

  expect(tree).toMatchSnapshot()

})

If anyone can point me in the right direction that would be awesome :)
Thanks!
Strainy

I get this line https://github.com/MoOx/phenomic/blob/4127472c914bb42ae613578c3f166188e118f426/src/components/PageContainer/component.js#L60 is responsible for this problem.

Something like
globals.window = { location: { href: "the right url" } }

before the test.
But the component should not break if location is empty and/or href does not exist.

Hey @MoOx, thanks for coming to the rescue again :)
I was able to mock the Link component like so:
import React from 'react';
import HomePageWelcome from '../../HomePageWelcome'
import renderer from 'react-test-renderer'

jest.mock('phenomic', () => ({
  Link:  'Link',
}))

test('Home page renders correctly', () => {

  const component = renderer.create(
    <HomePageWelcome
      title={'Espress'}
      video={'https://player.vimeo.com/video/192311619?badge=0&byline=0&portrait=0&title=0&color=388E3C&autoplay=1'}
      cta={ {label: 'Get Started', link: '/register'} }
      hero={'assets/welcome-bg.jpg'} />
  )

  let tree = component.toJSON()

  expect(tree).toMatchSnapshot()

})

This works well for my purposes.

Closing as it's a bit specific :)
Maybe We will add doc later, after 1.0 refactoring if relevant.

Well actually we can "fix" this.


[Snyk] Security upgrade python from 3.9-slim to 3.14.0a3-slim

Snyk has created this PR to fix 3 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

examples/v1beta1/trial-images/enas-cnn-cifar10/Dockerfile.cpu

We recommend upgrading to python:3.14.0a3-slim, as this image has only 33 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Integer Overflow or Wraparound SNYK-DEBIAN12-ZLIB-6008963
  500

Use of Insufficiently Random Values SNYK-DEBIAN12-GLIBC-1547135
  150

Information Exposure SNYK-DEBIAN12-UTILLINUX-2401083
  150

Information Exposure SNYK-DEBIAN12-UTILLINUX-2401083
  150

Information Exposure SNYK-DEBIAN12-UTILLINUX-2401083
  150

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Use of Insufficiently Random Values

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 72.974%

Totals

Change from base Build<PHONE_NUMBER>0:
-0.1%

Covered Lines:
3116

Relevant Lines:
4270

💛  - Coveralls


wtfis: 0.9.1 -> 0.10.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for wtfis is: Passive hostname, domain and IP lookup tool for non-robots
meta.homepage for wtfis is: https://github.com/pirxthepilot/wtfis
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.10.0 with grep in /nix/store/5ici1ggaf8xsa3jxibwiv36fv9h66qva-wtfis-0.10.0
found 0.10.0 in filename of file in /nix/store/5ici1ggaf8xsa3jxibwiv36fv9h66qva-wtfis-0.10.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

wtfis

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5ici1ggaf8xsa3jxibwiv36fv9h66qva-wtfis-0.10.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wtfis https://github.com/r-ryantm/nixpkgs/archive/12f814a1ee57cbe4e16a4c50da4a33d1c20c5504.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/12f814a1ee57cbe4e16a4c50da4a33d1c20c5504#wtfis

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5ici1ggaf8xsa3jxibwiv36fv9h66qva-wtfis-0.10.0
ls -la /nix/store/5ici1ggaf8xsa3jxibwiv36fv9h66qva-wtfis-0.10.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

wtfis
wtfis.dist

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge

@NixOS/nixpkgs-merge-bot merge


Add PHONY targets to makefile

So make doesn't get confused.

You're right @pmorie those two are PHONY. In fact, none of the targets in the Makefile are associated with a file. The rest of targets are not problematic because there aren't files with the same names as those targets.


Remove testing of hhvm

We don't have the capacity to support HHVM any longer.

Coverage remained the same at 97.071% when pulling d13ef9a0c1e2b67e8ebef0ee156ba106ec80cbf9 on akrabat:no-hhvm into 3292735fe159ac2d084262db6acfa76a563bb8dc on slimphp:3.x.


Feature Request: Message timestamps

Adding timestamps for each message at the end of the row would be a useful feature.

This has been implemented and merged into the main branch, you can now display message timestamps by assigning the timestamps field to true in the configuration file.


Player: Record optional geolocation when adding QR Codes

As a player, I want to have a choice of recording my geolocation when adding a QR Code

[x] add to db Darius
[x] activity

Done


CanonCommMonoid.fst.checked is not generated by the build of ulib

jonathan@chartreuse:~/Code/fstar/ulib (master) $ make -j 48
/Applications/Xcode.app/Contents/Developer/usr/bin/make FSTAR_HOME=.. -f Makefile.verify verify-core
make[1]: Nothing to be done for `verify-core'.
jonathan@chartreuse:~/Code/fstar/ulib (master) $ ls CanonCommMonoid.fst
CanonCommMonoid.fst
jonathan@chartreuse:~/Code/fstar/ulib (master) $ ls CanonCommMonoid.fst.checked
ls: CanonCommMonoid.fst.checked: No such file or directory

thanks,
Jonathan

This was fixed some time ago and I forgot to close it, sorry! (it's now ulib/FStar.Tactics.CanonMonoid.fst)


was added .evn to each service in infrastructure/docker-compose.yml

Withought env_file credentials of mogno, postgres and mysql cannot be set up correctly

Infrastructure is going to be removed after example app improvement.


feat: improve emitter class

Slightly improves node.js EventEmitter interop for current methods.
Fixes memory leak by removing empty arrays.
Added Emitter.once() for converting once listeners to promises.
Added support for event maps.

Could we agree to use //@ts-expect-error instead of //@ts-ignore ?

Could we agree to use //@ts-expect-error instead of //@ts-ignore ?

I don't see why not

I created a PR with some type optimizations https://github.com/Choooks22/surrealdb.js/pull/1

And added types for all subclasses.

Just checking @mathe42 and @Choooks22 that this PR is to be closed now?

Yes can be closed


Exchange message operations should use a different oid

Almost everywhere in KERIA we create long running operations with an oid value of the related identifier.
The problem with doing this for exchange messages (maybe other scenarios too?) is you cannot have multiple long running operations for exn messages at the same time. And that's very probable for multi-sig when the operation does not complete until at minimum a threshold amount of signers have signed.
Easiest solution might be to use the SAID of the exn message (or maybe the embedded exn in the case of multisig) instead of embedding it in the metadata of the op.
Are there any concerns with this?

Here is an example test: https://github.com/cardano-foundation/signify-ts/commit/9b641cdc8ef2f59203a6128352b5ed844c3fa2dd

2 of 2 multi-sig
2 credentials issued
Member1 admits both, member2 admits none (so neither admit has completed)
The first long running operation has been replaced by the second (metadata updated)

Almost everywhere in KERIA we create long running operations with an oid value of the related identifier.
The problem with doing this for exchange messages (maybe other scenarios too?) is you cannot have multiple long running operations for exn messages at the same time. And that's very probable for multi-sig when the operation does not complete until at minimum a threshold amount of signers have signed.
Easiest solution might be to use the SAID of the exn message (or maybe the embedded exn in the case of multisig) instead of embedding it in the metadata of the op.
Are there any concerns with this?
Here is an example test: cardano-foundation/signify-ts@9b641cd

2 of 2 multi-sig
2 credentials issued
Member1 admits both, member2 admits none (so neither admit has completed)
The first long running operation has been replaced by the second (metadata updated)

exn (and embedded exn) SAID seems like an improvement to me @iFergal

In the case of IPEX, the operation is actually for the embedded exn anyway so SAID makes sense. I have started working on this locally, will continue... I think it actually makes sense to do this everywhere, and not just exn.
For example, you could issue 2 rotations in a row for an identifier - second replaces the first. But maybe the second fails due to a bug in Signify-TS. Now you can't track the first rotation which successfully completes.

Using the SAID for exn transaction id presages the keri version 2 optional exn format which adds an exn inception event to exn transactions so that a set of exns chained off from their inception can be tracked by the said of the inception event.

Completed with #289


Remove unguarded log.Info from request path

Remove log.Info from request path.
It causes excessive usage of zap.log and lock contention.

@mandarjog: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
d5a6d0f2457768213be9136622b3c7bf66ff0d0f
link
/test istio-presubmit

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

@mandarjog: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
d5a6d0f2457768213be9136622b3c7bf66ff0d0f
link
/test istio-presubmit

prow/istio-unit-tests.sh
d5a6d0f2457768213be9136622b3c7bf66ff0d0f
link
/test istio-unit-tests

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

/lgtm
/retest

@mandarjog: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
a3cfcd7dad06f05b4e565198881520524f34d0df
link
/test istio-pilot-e2e

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


Add a message argument to DCOSAuthenticationException

This also fixes an issue where a string message is passed instead of a Response object.
cf. https://jira.mesosphere.com/browse/DCOS-16144

ok to test


make sure that environment variables are strings

I accidentally set an integer environment variable, and Zappa deployed properly, but failed on request. This showed up in the tail:
Zappa Event: {}
[1476408522194] putenv() argument 2 must be string, not int: TypeError
Traceback (most recent call last):
  File "/var/task/handler.py", line 476, in lambda_handler
    return LambdaHandler.lambda_handler(event, context)
  File "/var/task/handler.py", line 187, in lambda_handler
    handler = cls()
  File "/var/task/handler.py", line 109, in __init__
    os.environ[key] = self.settings.ENVIRONMENT_VARIABLES[key]
  File "/usr/lib64/python2.7/os.py", line 473, in __setitem__
    putenv(key, item)
TypeError: putenv() argument 2 must be string, not int

This PR checks the environment for strings and errors out if they're not.

Coverage decreased (-0.06%) to 78.3% when pulling 68990704f132ec13c40febea7ea4486a9e426356 on scoates:non-string-envs into c69d667e311aea68cee66217e7ca3ca2672d6209 on Miserlou:master.

Good catch! This looks like it would be easy to write a test for! :)

As you wish. (-:

Coverage increased (+0.1%) to 78.458% when pulling 7238a6c7a2d8335143548b5a46a5fd14929081e9 on scoates:non-string-envs into c69d667e311aea68cee66217e7ca3ca2672d6209 on Miserlou:master.

👍


Plan for tidying up Credential Management / Web Authn API docs

User story
As a web developer, I want high quality documentation on the Cred Man / Web Authn APIs, so I can use them effectively in my work.
The docs for these APIs are already written:

https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API
https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API

But they really could use a thorough tidy up / copy edit to improve the quality of the documentation. In addition to this, there might be other, deeper tasks required to bring them up to scratch.
Acceptance criteria

[ ] Review the API documentation to see what the general state is

[ ] Review the specifications to see if anything is missing in terms of the reference documentation.

[ ] Research what tutorials may be required; talk to engineers as required.

[ ] Write the above up into a plan

[ ] Start copy editing the documentation as time allows.

Just created https://developer.mozilla.org/en-US/docs/MDN/Doc_status/API/Web_Authentication to have the corresponding fr-l10n doc status page.
I'm not sure of the tags to use in the DocStatus call so I targeted quite liberally.
Hope this can help.

As an interested reader on the topic and MDN frequent contributor, I think https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API should be shortened and a separate guide should be made from the "Web authentication concepts and usage".
I'm not saying any introductional content should be removed from this page but rather stating my opinion that the current content is too large for such an API landing page.

Here are the missing interfaces:

[ ] FederatedCredential.protocol
[ ] PublicKeyCredential.rawId
[ ] PublicKeyCredential.response
[ ] PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable
[ ] PublicKeyCredential.getClientExtensionResults
[ ] AuthenticatorAttestationResponse.getTransports
[ ] AuthenticatorAssertionResponse.signature
[ ] AuthenticatorAssertionResponse.userHandle

For the first item (of @jpmedley's checklist :)), I created

https://developer.mozilla.org/en-US/docs/Web/API/FederatedCredential/protocol and filed
https://github.com/mdn/browser-compat-data/pull/3592 for BCD.
If I'm not mistaken, this property is not available in Chrome release or Firefox release so I did not invest too much time dramatically changing the content from the provider page (i.e. setting up examples)

@jpmedley should PublicKeyCredentialRequestOptions properties be included as well?

Initial version of https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/PublicKeyCredential.rawId done. I'm not sure the example is relevant (but still better than none).

Initial version of https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/response done. I opted for a longer introduction. Please truncate if you think it must be shorter.

Aaand https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/isUserVerifyingPlatformAuthenticatorAvailable done.

Looks like https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/getClientExtensionResults is done too.

Wrote https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAttestationResponse/getTransports
TBD: PR to BCD; @jpmedley from https://github.com/chromium/chromium/commit/28254a4cfe0fd868c58a47c47e39a907774ebd7a#diff-0f684d35848d8674d6bd9c5673588856, I was not (yet) able to figure out how this was available from Chrome (which flag it may be behind). May work on it later today.

It's https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAssertionResponse/signature turn

https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAssertionResponse/userHandle has been written as well
Will collapse all those comment into a single one, sorry for the flood

After https://github.com/mdn/sprints/issues/976#issuecomment-470723248, here is what I done:

[x] Wrote FederatedCredential.protocol page
[x] Filled https://github.com/mdn/browser-compat-data/pull/3592 for BCD for FederatedCredential.protocol
[x] Wrote PublicKeyCredential.rawId page
[x] Wrote PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() page
[x] Wrote PublicKeyCredential.getClientExtensionResults() page
[x] Wrote AuthenticatorAttestationResponse.getTransports() page
[x] Wrote  AuthenticatorAssertionResponse.signature page
[x] Wrote AuthenticatorAssertionResponse.userHandle page

"Tentative" left to be done:

[ ] File a PR on BCD for AuthenticatorAttestationResponse.getTransports()
[ ] Add PublicKeyCredentialRequestOptions and PublicKeyCredentialCreationOptions as dictionaries member to GroupData macro
[ ] Write / BCD for PublicKeyCredentialCreationOptions.rp
[ ] Write / BCD for PublicKeyCredentialCreationOptions.user
[ ] Write / BCD for PublicKeyCredentialCreationOptions.challenge
[ ] Write / BCD for PublicKeyCredentialCreationOptions.pubKeyCredParams
[ ] Write / BCD for PublicKeyCredentialCreationOptions.timeout
[ ] Write / BCD for PublicKeyCredentialCreationOptions.excludeCredentials
[ ] Write / BCD for PublicKeyCredentialCreationOptions.authenticatorSelection
[ ] Write / BCD for PublicKeyCredentialCreationOptions.attestation (or mention the static value on the parent page)
[ ] Write / BCD for PublicKeyCredentialCreationOptions.extensions
[ ] Write / BCD for PublicKeyCredentialRequestOptions.challenge
[ ] Write / BCD for PublicKeyCredentialRequestOptions.timeout
[ ] Write / BCD for PublicKeyCredentialRequestOptions.rpId
[ ] Write / BCD for PublicKeyCredentialRequestOptions.allowCredentials
[ ] Write / BCD for PublicKeyCredentialRequestOptions.userVerification (or mention the static value on the parent page)
[ ] Write / BCD for PublicKeyCredentialRequestOptions.extensions
[ ] Write examples for pages missing one

Subject to discussion for guide/tutorial content:

Write a guide: "As a web dev, how do I register a new user with WebAuthn"
Write a guide: "As a web dev, how do I authenticate an existing user with WebAuthn"
Write a guide: "As a web dev, how do I register another authenticator for an existing user"
Write a guide: "As a web dev, how do I transition from old FIDO JS API to WebAuthn"
Write a guide: "As a web dev, how do I deal with progressive enhancement/compatibility - state of the current implementation"

@jpmedley should PublicKeyCredentialRequestOptions properties be included as well?
edit: PublicKeyCredentialCreationOptions properties may be added as well

PublicKeyCredentialRequestOptions supported.
PublicKeyCredentialCreationOptions

I don't have version numbers for either.


testID for UTs and e2e test

Is your feature request related to a problem? Please describe.
testID is needed for writting e2e tests. Also it helps to write more readable unit tests.
Describe the solution you'd like
adding testID prop and pass it main view

released


feature : “GL_SAMPLER_EXTERNAL_OES” not support

Description
Hi，I want to ask a feature question.
here has some error：
ADRD 003350: [10:44:09] gl_program_iterate.cpp( 943) - Error   - Unhandled uniform type 'GL_SAMPLER_EXTERNAL_OES'
ADRD 003350: [10:44:09] gl_program_iterate.cpp( 547) - Error   - Unhandled uniform type 'GL_SAMPLER_EXTERNAL_OES'
and in xml file，I can't searched my  shader as below
“{"
#extension GL_OES_EGL_image_external : require
precision mediump float;
uniform samplerExternalOES CC_Texture0;
varying lowp vec4 v_diffuse;
varying mediump vec2 v_texture0;
void main()
{
lowp vec4 local_0 = texture2D(CC_Texture0, v_texture0);
lowp vec4 local_1 = v_diffuse * local_0;
gl_FragColor = local_1;
}
"};”
so  GL_OES_EGL_image_external and GL_SAMPLER_EXTERNAL_OES need to surpport？

Environment

RenderDoc version:1.2.8
Operating System: android
Graphics API: gles

RenderDoc does not support GL_OES_EGL_image_external. Your application must properly check for extensions to see if they're available before using them, otherwise it is invalid use of GL.


The routing does not work

Hi,
I try to access different link, but it seems that the routing doesn't work, for example:
https://angularboilerplate.netlify.app/sign-in
https://angularboilerplate.netlify.app/sign-up
Thank you
John

Hi John. This kind of behavior is because you're supposed to be logged in and you shouldn't be able to access those routes when you already have access.
Explanation
I removed the auth service since this project should be easy to connect with any state manager like Akita, Ngxs, or Ngrx, so later on you don't have the hassle to manually remove services that you won't use. Being told that, there are two guards that protect the routes.
You can find those guards in the following locations:
<EMAIL_ADDRESS>   // does not allow the user to access admin pages
<EMAIL_ADDRESS>   // does not allow the user to access +auth module pages like (sign in, sign up, forgot password, etc.)

The trouble you're having is due to the no-auth.guard.ts, there's a constant called isLoggedIn set to true, but this should be connected with your own implementation of the auth service, and the auth service should be able to check if there's a token stored in the local storage.
Solutions

Set the const isLoggedIn equal to false.
Go to src\app\app-routing.module.ts and comment the "canActivate" property in the Auth module, so it won't validate the auth routes until you have your auth service implementation.

{
  path: Path.Auth,
  //canActivate: [NoAuthGuard],
  loadChildren: () => import('./+auth/auth.module').then((m) => m.AuthModule),
},

Let me know if you have any trouble at all & I'll be happy to help. Also, if you have any suggestions or want to contribute, you're welcome to do it.

Hi John. This kind of behavior is because you're supposed to be logged in and you shouldn't be able to access those routes when you already have access.
Explanation
I removed the auth service since this project should be easy to connect with any state manager like Akita, Ngxs, or Ngrx, so later on you don't have the hassle to manually remove services that you won't use. Being told that, there are two guards that protect the routes.
You can find those guards in the following locations:
<EMAIL_ADDRESS>   // does not allow the user to access admin pages
<EMAIL_ADDRESS>   // does not allow the user to access +auth module pages like (sign in, sign up, forgot password, etc.)

The trouble you're having is due to the no-auth.guard.ts, there's a constant called isLoggedIn set to true, but this should be connected with your own implementation of the auth service, and the auth service should be able to check if there's a token stored in the local storage.
Solutions

Set the const isLoggedIn equal to false.
Go to src\app\app-routing.module.ts and comment the "canActivate" property in the Auth module, so it won't validate the auth routes until you have your auth service implementation.

{
  path: Path.Auth,
  //canActivate: [NoAuthGuard],
  loadChildren: () => import('./+auth/auth.module').then((m) => m.AuthModule),
},

Let me know if you have any trouble at all & I'll be happy to help. Also, if you have any suggestions or want to contribute, you're welcome to do it.

I just tried a setTimeout for 3000ms to simulate a sign in.. Once resolved - I try a router.navigate[Path.Dashboard] (even tried 'app/dashboard'..  Implemented own auth service so that both guards (NoAuthGuard, AuthGuard) checks for it.
Behavior: app component destroys ng-template router outlet, shows feature outlet. but router navigates to dashboard. the feature outlet shows the "app header" and router outlet stays on sign in screen.
According to numerous threads on stackoverflow - you can't have 2 router outlets that are primary on the root component. I don't think this works. If you have a working version, please send me stackblitz/link. Thanks

I just tried a setTimeout for 3000ms to simulate a sign in.. Once resolved - I try a router.navigate[Path.Dashboard] (even tried 'app/dashboard'..  Implemented own auth service so that both guards (NoAuthGuard, AuthGuard) checks for it.
Behavior: app component destroys ng-template router outlet, shows feature outlet. but router navigates to dashboard. the feature outlet shows the "app header" and router outlet stays on sign in screen.
According to numerous threads on stackoverflow - you can't have 2 router outlets that are primary on the root component. I don't think this works. If you have a working version, please send me stackblitz/link. Thanks

Hi @s1eeper888,
I don't really like using multiple router-outlets because it looks really messy & unpredictable. I think the async pipe subscription is way more clear and concise.
Since there are people having this issue, I just uploaded a demonstrable example of this feature, persisting the token in local storage.
All changes made can be found in this branch and in this commit
Notice that if you try to access an admin route like http://localhost:4200/settings/account, you'll automatically be redirected to the sign-in page with a query parameter that holds the value of the return URL.

This allows you to be more dynamic and access the page you were looking for after the login and not just be redirected to the dashboard every time.
Steps to reproduce

create an auth service that allows you to check the auth state through a behavior subject & also be responsible to store, get and remove the token from the local storage.
PD. here there would be additional service to sign-up & call services for forgot-password

modify the AuthGuard & the NoAuthGuard in order to get the auth state through a getter called isLoggedIn

Create a variable of type observable in the app.component.ts called isLoggedIn$. This will be useful to get the value of the behavior subject in the auth service and subscribe to it in the HTML template through an async pipe.
PD. this will be useful to hide or show the header & footer.

Add a button to call the sign-in method in the auth service. See it here

To logout, remember this repository follows the pure & smart components pattern, so the header shouldn't be responsible for calling any services. It can only emit. Header emission. Listen to the emission in the app-component and call the logout method from there.

You can find a preview deployment in this URL: https://6011bf0a111b0b0007bc939d--angularboilerplate.netlify.app
Things to keep in mind:

You can access the index page even when you're not logged in since that page is supposed to be public & informative.
You can reload the page & the auth state will be persisted.
After you're logged in, if you try to access auth pages like (sign-in, sign-up, forgot-password, etc.) you'll be redirected to the dashboard page.

If you need any help let me know.

Hi @s1eeper888,
I don't really like using multiple router-outlets because it looks really messy & unpredictable. I think the async pipe subscription is way more clear and concise.
Since there are people having this issue, I just uploaded a demonstrable example of this feature, persisting the token in local storage.
All changes made can be found in this branch and in this commit
Notice that if you try to access an admin route like http://localhost:4200/settings/account, you'll automatically be redirected to the sign-in page with a query parameter that holds the value of the return URL.

This allows you to be more dynamic and access the page you were looking for after the login and not just be redirected to the dashboard every time.
Steps to reproduce

create an auth service that allows you to check the auth state through a behavior subject & also be responsible to store, get and remove the token from the local storage.
PD. here there would be additional service to sign-up & call services for forgot-password

modify the AuthGuard & the NoAuthGuard in order to get the auth state through a getter called isLoggedIn

Create a variable of type observable in the app.component.ts called isLoggedIn$. This will be useful to get the value of the behavior subject in the auth service and subscribe to it in the HTML template through an async pipe.
PD. this will be useful to hide or show the header & footer.

Add a button to call the sign-in method in the auth service. See it here

To logout, remember this repository follows the pure & smart components pattern, so the header shouldn't be responsible for calling any services. It can only emit. Header emission. Listen to the emission in the app-component and call the logout method from there.

You can find a preview deployment in this URL: https://6011bf0a111b0b0007bc939d--angularboilerplate.netlify.app
Things to keep in mind:

You can access the index page even when you're not logged in since that page is supposed to be public & informative.
You can reload the page & the auth state will be persisted.
After you're logged in, if you try to access auth pages like (sign-in, sign-up, forgot-password, etc.) you'll be redirected to the dashboard page.

If you need any help let me know.

Thanks, I really like the boilerplate you got here. Good patterns/tooling. Will try to reproduce right now, and will get back to you. Thanks

Thanks, I really like the boilerplate you got here. Good patterns/tooling. Will try to reproduce right now, and will get back to you. Thanks

Thank you for your kind words. It is always open to improvement.

"Trying to figure out how this current route config would work without a public page. If the user isn't logged in at all, I just want to redirect them to the auth/sign-in page."

For that, you just need to remove the lazy loaded module from the app-routing.module

Thank you for your kind words. It is always open to improvement.

"Trying to figure out how this current route config would work without a public page. If the user isn't logged in at all, I just want to redirect them to the auth/sign-in page."

For that, you just need to remove the lazy loaded module from the app-routing.module

Can you explain the need for an seoservice? I thought SPA's are not crawled

Can you explain the need for an seoservice? I thought SPA's are not crawled

@s1eeper888 the SEO service allows you to change the title, metatags, and robots of a certain route.
if you'd want to change the title & description of some page you would need to inject the title & meta services
export class SomePage implements OnInit {
  constructor(private titleService: Title, private meta: Meta) {
    this.titleService.setTitle("Some title");
    this.meta.updateTag({ name: 'description', content: 'Some description'})
  }
}

With the SEO service, you can define those in the page route in the data object.
export const SOME_PAGE_ROUTE: Route = {
  path: Path.SomePage,
  component: SomePage,
  data: {
    title: 'Some title',
    description: 'Some description'
  },
};

That's just a matter of preference. If you want to go with the first option, you can just remove the SEO service.

I get the functionality but whats the use case if spa's are not crawled?

@s1eeper888 the SEO service allows you to change the title, metatags, and robots of a certain route.
if you'd want to change the title & description of some page you would need to inject the title & meta services
export class SomePage implements OnInit {
  constructor(private titleService: Title, private meta: Meta) {
    this.titleService.setTitle("Some title");
    this.meta.updateTag({ name: 'description', content: 'Some description'})
  }
}

With the SEO service, you can define those in the page route in the data object.
export const SOME_PAGE_ROUTE: Route = {
  path: Path.SomePage,
  component: SomePage,
  data: {
    title: 'Some title',
    description: 'Some description'
  },
};

That's just a matter of preference. If you want to go with the first option, you can just remove the SEO service.

I get the functionality but whats the use case if spa's are not crawled?

@s1eeper888 the title is a visible part of your application and a visible part of your browser history, so you don't want that to always be Angular Boilerplate

When you integrate Angular Universal into this project, this service is a good fit.
I read recently that Google is now able to render crawl SPA pages, so we'll see.

@s1eeper888 the title is a visible part of your application and a visible part of your browser history, so you don't want that to always be Angular Boilerplate

When you integrate Angular Universal into this project, this service is a good fit.
I read recently that Google is now able to render crawl SPA pages, so we'll see.

@juanmesa2097 routing strategy seems to break due to router entering an infinite loop when noAuthGuard is doing an async operation, for example rather checking whats in the subject on load- what if we want the page to survive page refreshes by checking a session on the server.. sync operations seems to work fine but not async
`const test = () => {
return new Promise((res, rej) => {
setTimeout(() => {
res(true);
});
});
};
async canActivate() {
const isLoggedIn = await test();
if (isLoggedIn) {
this.router.navigate([Path.App]);
return false;
}
return true;
}`


Default not correclty set

There's a missing - in this line, provoking that when I provision .Values.serviceAccount.name, it ends up generating the helm deployment with:
 spec:
      serviceAccountName: <my_service_account_name>} }

https://github.com/signalfx/splunk-otel-collector-chart/blob/0e083695672ef3055a008964f6c33675dea236f4/helm-charts/splunk-otel-collector/templates/_helpers.tpl#L168

@jdreyesp the hyphen is for removing spaces in go template (ref). And we added some unittest to verify the rendering (PR), it is working as expected. If you are still facing this issue, please provide further information to reproduce this.

Closing as inactive. Please open a support request for further help.


Get network output during training.

Hello,
Is it possible to run tensor.eval() in the loss function to get the network output and use it in an external file to compute the loss.
Thank you

@ilyes-hm, Can you elaborate the issue with sample code and/or any use case. Thanks!

So I am trying to build a loss function that uses the network output and pass it to a command line function to create two matrices then i compute the loss based on these matrices, my problem i cant generate these matrices when I pass the network outputs using tensor.eval() to a string to run the command line.
def command(params):
     cmd = 'a command line'+str(params.eval())
     mat = os.system(cmd)
     return mat
def custom_loss(y_true, y_pred):
    mat1 = command(y_true)
    mat2 = command(y_pred)
    loss = mean_squared_error(mat1,mat2)
    return loss

@ilyes-hm, Could you provide full error log and complete code to analyze the issue. Thanks

Let me reformulate my question, Is it possible to get the network outputs as numpy and compute the loss using a numpy function (which include a command line that takes the network output as argument)?

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
Thanks!


add lvalue ref support to tuples

wait, this is nonsense

In the case of T being an lvalue reference, collapsing rules result in a cast to std::remove_reference_t&, causing the reference to be copied. In all other cases, the resulting cast is to an rvalue reference.
I am not aware of any regressions, though my test cases were admittedly limited. I'm looking at expanding on a test suite to make it easier to know what's valid in the future.


Blob upload gets stuck after two consecutive upload attempts

Package Name: azure-storage-blob
Package Version: 12.3.2
Operating System: Windows 10
Python Version: 3.8.1

Describe the bug
My program attempts to re-upload a blob with a different name if the first upload attempt fails with a ResourceExistsError. It seems that the second upload never succeeds, and the program responds very slowly to a KeyboardInterrupt. I think the longest time I have waited for the upload to complete is several minutes. The blob is not big, the upload should only take a few seconds at most. This might also be a problem at Azure's end, of course, but two upload attempts withing a span of a couple seconds shouldn't be enough to cause any performance issues...
The code that attempts to upload the blob:
with open(blob, 'rb') as data:
    n = 0
    while True:
        blob_name = "%s_%d%s" % (parts[0], n, parts[1])
        print("Attempting to upload to %s/%s" % (container, blob_name))
        with blob_service_client.get_blob_client(
                container=container, blob=blob_name) as blob_client:
            try:
                blob_client.upload_blob(data, timeout=5)
                print("Upload successful")
                return
            except ResourceExistsError:
                print("Blob already exists")
                n += 1
            except:
                print("Upload to blob failed:\n", format_exc())
                return

The output:
Attempting to upload to output/running-example_0.bpmn
Blob client created
Attempting to upload to output/running-example_1.bpmn
Blob client created

After that it gets stuck. If I use ctrl+c, it shows the following traceback after some time, a minute or two, perhaps.
Upload to blob failed:
 Traceback (most recent call last):
  File ".\__main__.py", line 103, in upload_blob
    blob_client.upload_blob(data, timeout=5)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\tracing\decorator.py", line 83, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_blob_client.py", line 496, in upload_blob
    return upload_block_blob(**options)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_upload_helpers.py", line 94, in upload_block_blob
    return client.upload(
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_generated\operations\_block_blob_operations.py", line 207, in upload
    pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 211, in run
    return first_node.send(pipeline_request)  # type: ignore
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\policies\_redirect.py", line 157, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_shared\policies.py", line 489, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_shared\policies.py", line 290, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 103, in send
    self._sender.send(request.http_request, **request.context.options),
  File "~\ProjectFolder\.venv\lib\site-packages\azure\storage\blob\_shared\base_client.py", line 312, in send
    return self._transport.send(request, **kwargs)
  File "~\ProjectFolder\.venv\lib\site-packages\azure\core\pipeline\transport\_requests_basic.py", line 259, in send
    response = self.session.request(  # type: ignore
  File "~\ProjectFolder\.venv\lib\site-packages\requests\sessions.py", line 530, in request
  File "~\ProjectFolder\.venv\lib\site-packages\requests\sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "~\ProjectFolder\.venv\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "~\ProjectFolder\.venv\lib\site-packages\urllib3\connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "~\ProjectFolder\.venv\lib\site-packages\urllib3\connectionpool.py", line 426, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "~\ProjectFolder\.venv\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
    httplib_response = conn.getresponse()
  File "~\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1322, in getresponse
    response.begin()
  File "~\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 303, in begin
    version, status, reason = self._read_status()
  File "~\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 264, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "~\AppData\Local\Programs\Python\Python38\lib\socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "~\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "~\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
KeyboardInterrupt

To Reproduce
Steps to reproduce the behavior:

Attempt to upload to a blob that already exists
Try again with a different name

Expected behavior
It should upload the blob on the second try (if the name is available).
Additional context
This is more for handling outlier situations, the frontend should be taking care that there won't be blobs with the same names.

Hi @ppessi
Thanks for reaching out.
The SDK has some default retry, https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/storage/azure-storage-blob/README.md#retry-policy-configuration SDK will wait some time before retry.
You can specify retry_total=0 to stop retry since your code has retry.
Let me know if that doesn't help! Thanks

@xiafu-msft
I did that and waited a couple minutes (not sure if I ever waited that long before) and got this error.
 Traceback (most recent call last):
  File ".\__main__.py", line 103, in upload_blob
    blob_client.upload_blob(data, retry_total=0)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\tracing\decorator.py", line 83, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_blob_client.py", line 496, in upload_blob
    return upload_block_blob(**options)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_upload_helpers.py", line 94, in upload_block_blob
    return client.upload(
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_generated\operations\_block_blob_operations.py", line 207, in upload
    pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 211, in run
    return first_node.send(pipeline_request)  # type: ignore
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 5 more times]
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\policies\_redirect.py", line 157, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_shared\policies.py", line 515, in send
    raise err
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_shared\policies.py", line 489, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_shared\policies.py", line 290, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\_base.py", line 103, in send
    self._sender.send(request.http_request, **request.context.options),
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\storage\blob\_shared\base_client.py", line 312, in send
    return self._transport.send(request, **kwargs)
  File "C:\Users\PinjaJäkkö\Documents\koodeja\PM4Py_Docker\.venv\lib\site-packages\azure\core\pipeline\transport\_requests_basic.py", line 284, in send
    raise error
azure.core.exceptions.ServiceResponseError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

Hi @ppessi
It looks like a read timeout.
Were you able to upload any blob?

Yes, it works fine except if I try to do it two times in a row.

Hi @ppessi
Thanks for the info, while I still have two questions and I need some info to reproduce it successfully.
If you’ve uploaded successfully, then “ Upload successful” should be printed out right? I’m just assuming the console has all output info.
Does “Do it twice in a row” mean uploading to the same blob twice or to two different blobs?

Ah, sorry for being unclear, I meant that when there is no blob of the same name already it does succeed. This problem only occurs when a blob with the same name already exists and I try to create a new one with a different name. So first I attempt to upload to blob A, then to blob B, and it fails to upload to B.

Hi @ppessi
Thanks for clarifying this! I will try to reproduce it today and see if I have any clue!

Hi @ppessi
I wasn't able to reproduce the hanging problem by uploading to the same block blob twice.
If it's an read timeout, can you increase the read_timeout value? If you are using python2 let's increase it to 40, if you are using python3 then it shouldn't be read timeout. Can you add HttpResponseError (as the code below) to see if can help catch any other error? Also can you confirm the behavior is what you want? Thanks a lot for helping locate the problem!
Based on your code, let's assume parts[0] == "a" and parts[1] == "b"
loop 0: blob_name = a_0b
loop 1: blob_name = a_0b throws resource exists exception n = 1
loop 2: blob_name = a_1b
loop 3: blob_name = a_1b throws resource exists exception n = 2
loop 4: blob_name = a_2b
loop 4: blob name = a_2b throws resource exists exception n = 3
............ so on
with open(blob, 'rb') as data:
    n = 0
    while True:
        blob_name = "%s_%d%s" % (parts[0], n, parts[1])
        print("Attempting to upload to %s/%s" % (container, blob_name))
        with blob_service_client.get_blob_client(
                container=container, blob=blob_name) as blob_client:
            try:
                blob_client.upload_blob(data, timeout=5)
                print("Upload successful")
                return
            except ResourceExistsError:
                print("Blob already exists")
                n += 1
            except:
                print("Upload to blob failed:\n", format_exc())
                return
           except HttpResponseError as e:
                print("This is an unexpected error")
                print(e)

Hmmm it started working now even though I didn't change anything significant?? I'm using a different wi-fi than before, could that affect it...? Nothing should've changed on the storage account's side, either.
And yeah the behavior I want is that it continues trying until it finds a blob that doesn't exist and then uploads that. I don't really know if this is the best way to do that but it's for handling edge cases, anyway.

Hi @ppessi
It looks like you don't encounter the problem anymore, is it good for you to close the issue now?

Well it's still a mystery why it didn't work at first but not sure there's anything that can be debugged... but it does work now.


NIFI-12633 GetSolr processor clears state on startup

Summary
NIFI-12633
Reset the clearState flag of GetSolr after configuration is restored. This fixes clearing the processor's date filter after a NiFi restart.
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 21

Licensing

[x] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[x] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[x] Documentation formatting appears as expected in rendered files

The problem seems to be that StandardProcessorTestRunner is calling OnConfigurationRestored before each run. In production this only happens once, either when loading or when adding a processor.
I introduced another flag to make sure the clearState flag is only reset once.
Due to the limitation of the test runner, I find it difficult to build a new test that differentiates between the two cases (change of properties before vs. after loading the processor).


Dynamic function not found after registering

I replicated the dynamic function example from the documentation but get the following error when building:

Unknown dynamic sphinx-needs function

At the bottom of my conf.py I added the following lines
def my_own_function(app, need, needs):
    return "Awesome"

needs_functions = [my_own_function]

In needs/needs.py built-in functions are registered with the environment but user functions with the application:
        # Register built-in functions
        for need_common_func in needs_common_functions:
            register_func(env, need_common_func)

        # Register functions configured by user
        for needs_func in needs_functions:
            register_func(app, needs_func)

Registering user functions with the environment results in a pickling error and changing execute_func in needs/functions/functions.py to use env.app instead of env let's me use my custom function but prevents sphinx from finding the built-in ones.

Argh, sorry for the late response. I somehow overlooked this issue.
However, thanks for the detailed report and the code-diving to identify the exact problem.
I have made some additional tests and it looked like sphinx tries to put all known configuration parameters to a pickle of the whole environment. And that for sure doesn't work with python methods, which are added to the needs_functions-list in conf.py.
So I added a workaround by not registering needs_functions inside sphinx and instead importing the parameter directly for my usage.
This seems to work and all related test cases are passed.
So the final usage of dynamic functions hasn't changed, so that your code/project should now run without any problem. If not please inform me.
I will create a new release shortly.


It is not working in Oman, is it restricted?

When i test the code, it is working with India but it is not working in Oman. Is it restricted in Oman?

iOS release 24 causing issues


Driver broken until NetworkDriver.GetCapabilities is added per libnetwork issue #486

FYI, just noticed this as a result of the NetworkDriver.GetCapabilities requirement from libnetwork issue #486. Digging around for a fix. If you update to the latest nightly you will get the following:
# Docker daemon err
ERRO[0139] Handler for POST /containers/{name:.*}/start returned error: cantstart: Cannot start container 3884c96916d3c35bd2839e43a19a3604e62228ba3ee34346c9fba5c10f424e21: Plugin not found
ERRO[0139] HTTP Error                                    err=cantstart: Cannot start container 3884c96916d3c35bd2839e43a19a3604e62228ba3ee34346c9fba5c10f424e21: Plugin not found statusCode=500
DEBU[0139] Calling DELETE /containers/{name:.*}
INFO[0139] DELETE /v1.21/containers/3884c96916d3c35bd2839e43a19a3604e62228ba3ee34346c9fba5c10f424e21?v=1
DEBU[0139] activateDeviceIfNeeded(3884c96916d3c35bd2839e43a19a3604e62228ba3ee34346c9fba5c10f424e21)

The plugin error is as follows:
# Plugin err
$ go run plugin/main.go --gateway=<IP_ADDRESS> --ipvlan-subnet=<IP_ADDRESS>/24  --host-interface=eth1 --mode=l2
INFO[0000] Plugin configuration options are:
  container subnet: [<IP_ADDRESS>/24],
  container gateway: [<IP_ADDRESS>],
  host interface: [eth1],
  mmtu: [1500],
  ipvlan mode: [l2]
INFO[0000] IPVlan network driver initialized successfully
WARN[0252] [plugin] Not found: &{Method:POST URL:/NetworkDriver.GetCapabilities Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[User-Agent:[Go 1.1 package http] Content-Length:[5] Accept:[application/vnd.docker.plugins.v1.1+json]] Body:0xc8200f21c0 ContentLength:5 TransferEncoding:[] Close:false Host:/run/docker/plugins/ipvlan.sock Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr:@ RequestURI:/NetworkDriver.GetCapabilities TLS:<nil> Cancel:<nil>}
^Cexit status 2

Added in the following which I think would take care of the {"Scope": "local"} reply.
router.Methods("POST").Path("/NetworkDriver.GetCapabilities").HandlerFunc(driver.capabilities)
// and also

type capabilitiesResp struct {
	Scope string
}

func (driver *driver) capabilities(w http.ResponseWriter, r *http.Request) {
	err := json.NewEncoder(w).Encode(&capabilitiesResp{
		"local",
	})
	if err != nil {
		log.Fatalf("capabilities encode: %s", err)
		sendError(w, "encode error", http.StatusInternalServerError)
		return
	}
	log.Debug("Capabilities exchange complete")
}

But now am getting an error of no interface name information received statusCode=500. Doesn't seem like that is a result of the GetCapabilities() reply but not sure. Will ask around in the AM:
ERRO[0007] Handler for POST /containers/{name:.*}/start returned error: Cannot start container 36fffe4348aaa664ddc41dc2a624c00aea18c0f29cb53454332538fbee974421: no interface name information received
ERRO[0007] HTTP Error                                    err=Cannot start container 36fffe4348aaa664ddc41dc2a624c00aea18c0f29cb53454332538fbee974421: no interface name information received statusCode=500
INFO[0007] DELETE /v1.21/containers/36fffe4348aaa664ddc41dc2a624c00aea18c0f29cb53454332538fbee974421?v=1


Remove console plugin injection

Since the console plugin is only a preview in Openshift we will not set it in MCE by default. Instead MCH will enable the MCE plugin for it with https://github.com/stolostron/multiclusterhub-operator/pull/773. If MCE is installed standalone the customer will need to be instructed on how to configure the plugin manually.
Signed-off-by: Jakob Gray<EMAIL_ADDRESS>

/lgtm

Console is no longer a preview so this PR is no longer relevant


Sourcing Functions in Script

Hey good meeting today guys, as per Karan's finding from attending the Office Hour I just want to remind everyone that we are not recreating our functions in our scripts, but rather we are sourcing our existing .R function files and calling our functions in our scripts for command line applications. :) Thanks Karan! Let me know how you guys are feeling about everything/where everyones at!

Thanks for the reminder. I have updated my script to source functions we have created in milestone 2

Thanks Alan for creating the issue for this. I have updated my script file and created a branch for the same. We can update the report once we have all the necessary script files and wrap up the part 1 of Milestone 3

Thanks everyone! My script is also merged with the main branch

Closing this issue as we are done with the scripts.


playplaylist does not list any playlists (Alfred 3.0 version)

When I try to use the playplaylist command, it doesn't list any playlists, it just gives me web browser search options.

Hi, @dapperdanman1400. I'll try to help you as best as I can, so I'd like to start by asking a few questions:

What version of Alfred are you using?
Do any other filters like playsong work for you?
How many playlists do you have in iTunes? (besides the Alfred Play Song playlist)

Thanks,
Caleb

Yes, all of the filters except playplaylist are working for me.
I have 2 playlists, one of which is a smart playlist (don't know if that matters).

Can you please open up the Workflow Debugger (the insect-looking icon) for Play Song and then search with playplaylist once more? It would seem some error is being thrown that is preventing Play Song from showing any results.

[2016-06-11 11:49:54][ERROR: input.scriptfilter] Code 1: 1823:1865: execution error: iTunes でエラーが起きました：quantifyNumber を続けることができません。 (-1708)
Sorry, it's in Japanese. It says something along the lines of:
"An iTunes error has occurred: cannot continue quantifyNumber."

I just realized that playplaylist doesn't work for me, either (I don't really use playlists, so I never search with playplaylist); I can't believe I never noticed. Fortunately, I have found the cause of the issue and will push a fix momentarily.
Stand by...

Alright, @dapperdanman1400, I've pushed the patched workflow (v4.0.1). Please let me know if this also solves the issue for you. :)

Works great now! Thanks!


GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed

Steps to reproduce:

download this .png image:

run this test with mocha:

test.js
/* global describe, it */
require('loud-rejection/register')

const sharp = require('sharp')

describe('module', () => {

  it.only('should return a buffer', async () => {
    const editorScreenshot = await fs.readFile(__dirname + '/img.png')

    sharp(editorScreenshot)
      .toBuffer()
      .then((data, info) => { //
        console.log(data)
      })
      .catch((err) => {
        console.log('sharp error catched')
        console.error(err)
      })
  })

it results in:

(sharp:19291): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(sharp:19291): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(sharp:19291): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(sharp:19291): GLib-CRITICAL **: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(sharp:19291): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed
Segmentation fault: 11

Running with node 8.10; also tried with v9. OSX High Sierra 10.13.3

Hello, these g_hash_table_lookup messages are usually a sign that something else is calling process.exit whilst sharp is still asynchronously processing an image.
The loud-rejection module depends on signal-exit that might be doing this.
Is there some other code not shown here that globally alters fs.readFile to return a Promise?
Do you still see this problem after removing some/all of these other dependencies?

Sorry, I left out the const fs = require('fs-extra'). Will check when I have time and come back to you, thanks.


No file called 'data_vqa/train_teacher_logits.pkl'

When I attempted to run your project following the instructions, an error occurred saying:
Traceback (most recent call last):
  File "main.py", line 106, in <module>
    question_len=args.question_len)
  File "/OSM/CBR/D61_RCV/students/xu078/ICCV19_VQA-CTI/src/FFOE/dataset.py", line 266, in __init__
    self.teacher_logits = cPickle.load(open(teacher_logits_path, 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'data_vqa/train_teacher_logits.pkl'

And I cannot find this file at here either. Hence, how can I solve it?

You can download the teacher logit for VQA-2.0 and TDIUC dataset at https://vision.aioz.io/d/9951e206d5ae4c4a97a1/.

Thank you very much! That link works!


[QUESTION] How to visualize json file data?

Hi,
What is the best tool to visualize the dsg.json file?

You can use this launch file to visualize a saved scene graph, which looks something like:
roslaunch hydra_ros hydra_visualizer.launch scene_graph_dir:=/path/to/scene/graph scene_graph:=dsg.json

for the path /path/to/scene/graph/dsg.json.
Alternatively, if you have the python bindings for Spark-DSG installed, you can call this function on a loaded scene graph to visualize in open3d. The open3d visualization is less fully featured than the ros/rviz based one that the launch file starts.


feat(select): add support for hiding labels in multi-select

Before submitting a pull request, please make sure you have at least performed the following:

[x] read and followed the CONTRIBUTING.md guide.
[x] linted, built and tested the changes locally.
[x] added/updated any applicable API documentation.
[x] added/updated any applicable demos.

Fixes #188
NOTE: a new message template needs translations
@maksim-m, @ciaraward, @genuinefafa, @gotenxds, @fniwes

Thanks @mcosta74, will get this looked at & merged tomorrow 😄


Feature Request - Import from CodePen URL

It would be awesome to import from a CodePen URL.

I'm not sure if CodePen has an API to make this possible today. However, what you can do is:

Export a pen to a GitHub Gist
Install the GistPad extension and sign into the same GitHub identity you used when exporting the pen
You'll then see the pen in the Gists tree view, and if you open it, it will detect that you have CodeSwing installed, and open the swing editor

The nice thing about that flow, is that you can also create new swings in VS Code and store them in gists. That way, you have your swings more easily shareable.

After looking into this more, there unfortunately isn't an API to support this scenario, and so I'm going to close it as non actionable. That said, per my previous comment, the workaround is to expose a pen to a gist and then use GistPad to open it. Thanks!


[helm chart] quotes for service annotation values

Issue: annotation values' quotes are removed.
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '300'

becomes
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: true
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: 300

Solution: add quote option

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: kimxogus
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gyliu513
If they are not already assigned, you can assign the PR to them by writing /assign @gyliu513 in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @kimxogus. 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.
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/test-infra repository.

/assign @gyliu513

/ok-to-test

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gyliu513, kimxogus
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [gyliu513]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Append ABI-decoded revert reason to message field in error responses

PR description
Todo:

[x] eth_call unit tests
[x] eth_estimateGas unit tests
[x] Changelog

This PR does the following:

Adds a helper function to JsonRpcErrorResponse to decode revert reasons
Adds a private member variable reason to JsonRpcError which can optionally be set
Appends the reason to the response from JsonRpcError.getMessage() so that whenever the message for a JSON RPC error is retrieved, any reason that is set is included e.g. Execution reverted: ERC20: transfer amount exceeds balance

Note: this is proposed as a change to existing behaviour. I have assumed (rightly or wrongly) that existing applications will most likely use startsWith("Execution reverted") or other language equivalent, to parse error responses today. The fact that Quorum returns errors in this format (and that there isn't an option to exclude the decoded reason) suggests that any application not using startsWith semantics for error parsing is already brittle to different ethereum clients. It could be made configurable in Besu (perhaps with a --exclude-decoded-reason or similar option) but my personal view is to treat this as a fix to existing behaviour and document it in the changelog accordingly. I'm open to other opinions on this from reviewers.
Example error response before this PR:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "Execution reverted",
        "data": "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000"
    }
}

Example error response with this PR:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "Execution reverted: ERC20: transfer amount exceeds balance",
        "data": "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000"
    }
}

Fixed Issue(s)
Fixes https://github.com/hyperledger/besu/issues/5705

Working through a failing unit test that passes locally...


Expectation value w.r.t. qreg list

What is the expected enhancement?
Allow expectation value evaluation circuit generation w.r.t. to a list of qregs instead of a single qreg only
In the WeightedPauliOperator line 643, 644 the following check is conducted
if not wave_function.has_register(qr):
raise AquaError("The provided QuantumRegister (qr) is not in the circuit.")
This prevents to construct the evaluation circuits w.r.t. a list of qregs/qubits. e.g. [q0[0], q0[2], q1[1]]. The rest of the function works with this kind of list though.

Hi Christa - https://github.com/Qiskit/qiskit-aqua/pull/852 gets rid of using specific qregs for the expectation, and instead allows you to just append your expectation measurement to the circuit directly. Does this solve your issue?

Hey Donny,
If I can specify the qubits to append the expectation measurement to - which I assume - yes.

Christa, from discussion with Donny, and above comments, I understand with the new operator flow and the use now of the new expectation objects that your needs should be accommodated. As such I am closing this.


A way to fire 'buffering' state externally while downloading media file.

I've made my own player class that uses media_kit's Player. Here is one of the methods that my class provides:
Future<void> openAndPlay(MyAudioClass audio) async {
  final File cachedFile = DefaultCacheManager().getSingleFile(
    audio.url,
    key: audio.key,
  );

  await _player.open(
    Media(
      cachedFile.path,
    ),
  );

  // Update Discord's Rich Presence, Windows SMTC, etc.
}

As you can see, the openAndPlay method tries to retrieve file from cache or download if it's not present.
However, there is an issue with my current approach: Player object (and therefore, UI) doesn't know that openAndPlay method is trying to download a file before passing to it. Due to that, I'm unable to show "buffering" state in the UI of my app.
My question is, "is there a way to fire a 'buffering' state without calling Player.open?"
Technically, I can implement my own solution like:
bool get buffering => somehowCheckIfFileIsDownloading() || _player.state.buffering;

but I don't think that this is a great solution to this problem.

Please don't do this.

TL;DR: This is never going to reliable.
Caching is WIP: #269 & https://github.com/alexmercerind/network_cache_manager.
A lack of time & motivation.

Okay, so it's not a great idea, makes sense, thank you for pointing that out 👀
Now I wonder if there is a callback method that returns media bytes when data get fully loaded in Player.open(...) method.
If so, there is a possibility of doing something like this:
_player.open(Media(isInCache ? file.path : url));
_player.someMagicCallback((bytes) => saveInCache(...));


Custom Proxy support

We cannot configure proxy options using ModernHttpClient.
The regular HttpClientHandler allows us to provide proxy options and seems to use system proxy by default. What about OkHttpNetworkHandler and NSUrlSessionHandler ?

It seems to use the system proxy on Android but not iOS. Perhaps there is a bug here?
Also OkHttp has a setProxy method so custom proxy on Android seems doable.
http://square.github.io/okhttp/javadoc/com/squareup/okhttp/OkHttpClient.html#setProxy-java.net.Proxy-

I'm not super excited about enabling custom proxy support, but ignoring the system proxy is something we should definitely fix

Thank you for the quick response.
Setting an IHttpClientFactory that uses 'ModernHttpClient` has resolved the problem!
Definately something funny going on in the original httpclient to cause proxy not to work but whatever it is - i'm now over it..
Thank you


Warn on malformed json/yaml includes, refs #36

We now always show the json/yaml parsing exceptions for $refd documents.
To aid debugging, if --verbose is not set, we output the source of the document before the exception.

Coverage decreased (-0.2%) to 63.553% when pulling 563129006f04996292627c602253e15cf8830301 on MikeRalphson:resolver-warnings into 3e4c141be6016effdd1f2ae3b7a42a8e88c1d812 on wework:master.


Update sap-hana-overview-sap-hana-installation.md

Hi @v-derekg, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Derek Gamlyn (Resources Online)). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@v-derekg : Thanks for your contribution to the Azure documentation! The author, @RicksterCDN, has been notified to review your proposed change.


Remove format from syntax_bridge hot path

Although only around 1% speed up by running:
Measure-Command {start-process .\target\release\rust-analyzer "analysis-stats -q ."


cannot draw user interface after lauch

I this issue on appimage

Hi, are there any messages in the console when you run the appimage from a terminal?  e.g. ./lovr-v0.16.0-x86_64.appimage

./lovr-x86_64.AppImage
Error [GENERAL |  | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - unknown error
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
Error:
GPU error: Vulkan error: VK_ERROR_INITIALIZATION_FAILED

Stack:
boot.lua:90: in function <boot.lua:4>
[C]: in function 'xpcall'
Segmentation fault

Ok, this means one of two things:

There was a bug in v0.16.0 where LÖVR didn't always load Vulkan properly on Linux.  It's since been fixed.  You can download an appimage with the fix from GitHub actions (master branch, the latest build is here) to see if that fixes it.
Your GPU might not support Vulkan.  You can check what GPU you have by running lspci | grep VGA

Graphics:
  Device-1: AMD Turks PRO [Radeon HD 7570] driver: radeon v: kernel
  Display: x11 server: X.org v: <IP_ADDRESS> driver: X: loaded: radeon
    unloaded: fbdev,modesetting dri: r600 gpu: radeon resolution: 1680x1050~60Hz
  API: OpenGL v: 4.5 Mesa 23.1.4 renderer: AMD TURKS (DRM 2.50.0 /
    6.4.6-archlinux1-1 LLVM 15.0.7)

Number of platforms                               2
  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 23.1.4
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   rusticl
  Platform Vendor                                 Mesa/X.org
  Platform Version                                OpenCL 3.0
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_khr_il_program
  Platform Extensions with Version                cl_khr_icd                                                       0x400000 (1.0.0)
                                                  cl_khr_il_program                                                0x400000 (1.0.0)
  Platform Numeric Version                        0xc00000 (3.0.0)
  Platform Extensions function suffix             MESA
  Platform Host timer resolution                  0ns

  Platform Name                                   Clover
Number of devices                                 1
  Device Name                                     AMD TURKS (DRM 2.50.0 / 6.4.6-archlinux1-1, LLVM 15.0.7)
  Device Vendor                                   AMD
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.1 Mesa 23.1.4
  Device Numeric Version                          0x401000 (1.1.0)
  Driver Version                                  23.1.4
  Device OpenCL C Version                         OpenCL C 1.1
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Max compute units                               6
  Max clock frequency                             650MHz
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
  Preferred work group size multiple (kernel)     64
  Preferred / native vector sizes
    char                                                16 / 16
    short                                                8 / 8
    int                                                  4 / 4
    long                                                 2 / 2
    half                                                 0 / 0        (n/a)
    float                                                4 / 4
    double                                               0 / 0        (n/a)
  Half-precision Floating-point support           (n/a)
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (n/a)
  Address bits                                    32, Little-Endian
  Global memory size<PHONE_NUMBER> (1024MiB)
  Error Correction support                        No
  Max memory allocation                           268435456 (256MiB)
  Unified memory for Host and Device              No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       32768 bits (4096 bytes)
  Global Memory cache type                        None
  Image support                                   No
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Max number of constant args                     15
  Max constant buffer size                        268435456 (256MiB)
  Max size of kernel argument                     1024
  Queue properties
    Out-of-order execution                        No
    Profiling                                     Yes
  Profiling timer resolution                      0ns
  Execution capabilities
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    ILs with version                              SPIR-V                                                           0x400000 (1.0.0)
  Built-in kernels with version                   (n/a)
  Device Extensions                               cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_extended_versioning
  Device Extensions with Version                  cl_khr_byte_addressable_store                                    0x400000 (1.0.0)
                                                  cl_khr_global_int32_base_atomics                                 0x400000 (1.0.0)
                                                  cl_khr_global_int32_extended_atomics                             0x400000 (1.0.0)
                                                  cl_khr_local_int32_base_atomics                                  0x400000 (1.0.0)
                                                  cl_khr_local_int32_extended_atomics                              0x400000 (1.0.0)
                                                  cl_khr_extended_versioning                                       0x400000 (1.0.0)

  Platform Name                                   rusticl
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Clover
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [MESA]
  clCreateContext(NULL, ...) [default]            Success [MESA]
  clCreateContext(NULL, ...) [other]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 Clover
    Device Name                                   AMD TURKS (DRM 2.50.0 / 6.4.6-archlinux1-1, LLVM 15.0.7)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 Clover
    Device Name                                   AMD TURKS (DRM 2.50.0 / 6.4.6-archlinux1-1, LLVM 15.0.7)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 Clover
    Device Name                                   AMD TURKS (DRM 2.50.0 / 6.4.6-archlinux1-1, LLVM 15.0.7)

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.3.2
  ICD loader Profile                              OpenCL 3.0

This is one of the oldest AMD GPUs that supports Vulkan, but if I'm reading correctly I think it only supports Vulkan 1.0, not 1.1 which LÖVR uses.

Error [GENERAL |  | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - unknown error
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
Error:
GPU error: Physical device enumeration failed (VK_ERROR_INITIALIZATION_FAILED)

Stack:
boot.lua:90: in function <boot.lua:4>
[C]: in function 'xpcall'

after launch fixed appimage, have same

Oh interesting, it's failing to enumerate physical devices, which is further than I thought it was getting.  Still, this probably means that your GPU is just barely too old for LÖVR :disappointed:

Another way to get more in-depth info about what is happening is to do VK_LOADER_DEBUG=info ./lovr.appimage

Error [GENERAL |  | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - unknown error
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
INFO:             Vulkan Loader Version 1.3.255
INFO:             Portability enumeration bit was set, enumerating portability drivers.
Error:
GPU error: Physical device enumeration failed (VK_ERROR_INITIALIZATION_FAILED)

Stack:
boot.lua:90: in function <boot.lua:4>
[C]: in function 'xpcall'


Update webpack to 4.23.1

Fixes #1094

Failed pictures (1): failed-pictures.zip

:postbox: Posted by artipost.io, through Travis build 446710030, for commit 331e919.


[Epic] Docker Containers Matrix

Overview
To provide more flexibility in regards to language versions, we want to provide a docker image for each supported language version. For example for python, we should have the images pulumi-python (using the default version), pulumi/python-3.9, pulumi/python-3.10, ...
For the pulumi/pulumi (aka kitchen sink) image, we support multiple versions of at least Python & Nodejs using .python-version or .node-version files. Ideally for dotnet we support this through the TargetFramework setting.
The default version for each language is the latest LTS release.
Key Stakeholders
EPD: @julienp, @justinvp
References 📔

[x] Project View
[x] Design Doc (Internal)

Related: https://github.com/pulumi/pulumi-docker-containers/issues/205

https://www.pulumi.com/blog/docker-containers/


Added Examples for await/async

Added two examples where bluebird works with await/async - using Promisification and Promise.map.
Await/async seems to be really popular at the moment, but Bluebird works well with it - however, without examples, developers may thing bluebird is incompatible or no longer useful.

It's also important to note that async functions will always return instance of native Promise. So even if internally it's purely bluebird promises that are processed, one should not expect a bluebird promise to be a result of async function.
It might be important to mention that in a doc (I also raised that concern at ECMAScript discussion list)

@medikoo for what it's worth - we already barked down that tree: https://github.com/jhusain/compositional-functions

@benjamingr interesting, but have you tried to voice that concern to TC39? As technically async/await doesn't have to work like that. The only response I got, was something like "because it was simpler to implement in first place"

@medikoo I've started writing a comment but sent it as an email instead as it contained things better left off GitHub. Cheers.