first-class support for HTML templates, in-line, read from a file and content-type when returned from mock

related to #1706 - opening this for discussion, cc @ericdriggs @joelpramos

proposing a new "data type hint" called html to go along with def, xml, json etc. and support in-line conversions.

which reminds me - I think for things like yaml, csv, etc they don't support a doc-string on the RHS, so in-line usage in feature files have to involve 2 steps - first using text and then the "type-cast"

html that is specified in-line will be treated as a thlymeleaf template and karate's unique JS thymeleaf variant

any variables in the scenario scope will be available
no need for the ugly ${} syntax that "normal" thymeleaf uses, just pure JS will work

the read() method should behave like the above if the file-extension is .htm or .html, it will be treated like a thymeleaf template
in a mock, when the response data-type is HTML, the content-type will automatically be set to text/html
am in two minds here, but it does make sense to support a conversion from HTML to XML, but right now I don't see a compelling use case. but if I were to make up a few:

makes it easier to assert on HTML content using XPath
which may be a very interesting option combined with UI tests, just check if these elements were present, how many etc
karate supports XML to JSON conversion, which may open up more possibilities

the above means we should pull in JSoup as a dependency, which I've been resisting somewhat

but if we do, it means a sllght breaking change where HTML responses change from type string to html
the only other advantage is HTML responses can be "pretty printed" (as XML) but is not so important IMO

do let me know your thoughts and if there are more reasons in favor of pulling in JSoup

proposing a new "data type hint" called html to go along with def, xml, json etc. and support in-line conversions.

Sounds great.

which reminds me - I think for things like yaml, csv, etc they don't support a doc-string on the RHS, so in-line usage in feature files have to involve 2 steps - first using text and then the "type-cast"

Yes. Triple quotes doc strings are by far the most convenient and readable and I'm in favor of supporting more types. I don't follow why 2 steps would be required for text-> type cast instead of just supporting docstring for the type cast in 1 step. Not a blocker. Please clarify it that's a technical or design constraint. If this adds too much complexity seems lower priority than html.

html that is specified in-line will be treated as a thlymeleaf template and karate's unique JS thymeleaf variant
any variables in the scenario scope will be available

Great

no need for the ugly ${} syntax that "normal" thymeleaf uses, just pure JS will work

Even better!

in a mock, when the response data-type is HTML, the content-type will automatically be set to text/html

Overridable defaults are fine. May need to mock application/html, etc...

am in two minds here, but it does make sense to support a conversion from HTML to XML, but right now I don't see a compelling use case. but if I were to make up a few:

HTML <-> XML is a nice trick if it comes as a side effect.

the above means we should pull in JSoup as a dependency, which I've been resisting somewhat

Already made clear I'm in favor of JSoup dep.

but if we do, it means a sllght breaking change where HTML responses change from type string to html

Yes. This is a risk of breaking changes. Would be happy to test develop or another branch for possible bugs.

the only other advantage is HTML responses can be "pretty printed" (as XML) but is not so important IMO
do let me know your thoughts and if there are more reasons in favor of pulling in JSoup

As you discussed in the other thread HTML DOM has a broad range of
applications.
Thanks again for taking an MVC and running with it for a major feature spec!

@ericdriggs acknowledged. let me do this in 2 phases without JSoup first. and

I don't follow why 2 steps would be required for text-> type cast

yes agree, I meant to say that I want to support a better single-step triple-quote option.

which reminds me - I think for things like yaml, csv, etc they don't support a doc-string on the RHS, so in-line usage in feature files have to involve 2 steps - first using text and then the "type-cast"

doc string for html, csv, etc. - agree

html that is specified in-line will be treated as a thlymeleaf template and karate's unique JS thymeleaf variant

Will the behavior be the same using the read() method? wondering whether we should try to keep things as-is for thymeleaf so users can google and use their tutorials. I'm not familiar with thymeleaf or the unique variant so just spit balling my thoughts

but if we do, it means a sllght breaking change where HTML responses change from type string to html

Because of the risk of breaking changes I'd suggest a configure keyword to disable that automatically conversion to html when defining a variable (there might be a lot of people with several test cases already done with this).

the only other advantage is HTML responses can be "pretty printed" (as XML) but is not so important IMO

I always find important the pretty print especially for reports. People only look at reports in detail when there are errors and need to triage something and that's easier with pretty print.
I'm interested in whether this would fit nicely with some accessibility testing libraries that would test on each page "refresh" and produce a report in the end.

@joelpramos

wondering whether we should try to keep things as-is for thymeleaf.

yeah this is controversial. as of now I'm going to go ahead with the JS variant I created. keep in mind thymeleaf comes from the world of JSP, spring and OGNL - but I really want to start from a clean slate because we have the JS engine and Graal. that said anyone interested can make small changes and contribute an option for people who really want to use the "traditional" thymeleaf approach, it should be very simple work.
I have lots of experience with Java server-side HTML templating (used to be an Apache Wicket evangelist ages ago), so I think I know what I'm doing :) the way I've gotten the thmeleaf + JS integration to work is the HTML templating solution I always wanted.

Another thought that crossed my mind with the "accessibility testing" - maybe we can add the possibility of having a hook on the karate driver to execute code whenever the page finishes the reload (might need a way to also tweak the logic so that you can evaluate a JS condition for the condition of "finish reload").
This way we could hook any of those tools to that event and run the test. I'm assuming those would produce a report with a map of issues / etc that we could hook in the end as a separate report (or even within Karate). Depends on whether we think that fits within Karate - I think so but I don't have enough knowledge to understand whether there's a good lib out there or how the standards are implemented.

@joelpramos totally agree and I really want to move faster on accessibility testing, and perhaps you have seen this: https://twitter.com/KarateDSL/status/1338892932691070976 - and there is an example in the karate-e2e-tests sub-module.
we pretty much have full access to chrome's "lighthouse" and the perf data. also see this example: https://github.com/addyosmani/puppeteer-webperf

so I was trying to work on this - but it was harder than I thought - so I'm just updating the docs for csv and yaml slight improvement. also added a karate.render() api to use the html templating. and some minimal readme for the doc keyword and the karate.doc() api that has been secret so far
so I don't consider this a priority as using HTML for mocks and trying to convert HTML to XML seems to be a very rare use-case. teams can always add jsoup and a utils on their own.
pr-s are welcome as always. I'm closing this ticket

@ptrthomas
Was the html5 parsing bug from #1705 ever addressed?


Update feature asdf-package to allow installing multiple packages

Hello!
This is an update to the asdf-package feature to allow installing multiple packages since currently the same feature can't be run multiple times in a devcontainer.json.
I bumped the version to 2.0.0 as I didn't see a way around making breaking changes to the options provided to the feature. this should mean anything that's using ghcr.io/devcontainers-contrib/features/asdf-package:1 won't break, and people will need to manually update to v2.
Happy to make changes/answer questions. Also, if you think this is too big of a change to the function, I'm happy to offer this modified version out of my own features repo.

Hello @danielbraun89, just wanted to check in on your thoughts regarding this PR. Thanks!

This project is not associated with the devcontainer project and appears to have been abandoned https://github.com/devcontainers-contrib/features/issues/628 . The official project has removed all devcontainer-contrib features from their listing. https://github.com/devcontainers/devcontainers.github.io/issues/451. There is a fork that is being worked on to update and maintain the features https://github.com/devcontainers-extra/features


macOS Sierra build error

OS and version used:   macOS Sierra 10.12.6

Python runtime used:   2.7.10

SDK version used:   latest

Description of the issue:
 when I want to build as instructions says I get some errors.
Code sample exhibiting the issue:

Console log of the issue:
 -- The C compiler identification is AppleClang <IP_ADDRESS>20042
-- The CXX compiler identification is AppleClang <IP_ADDRESS>20042
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:9 (add_subdirectory):
add_subdirectory given source "c" which is not an existing directory.
-- Configuring incomplete, errors occurred!
See also "/Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
Test project /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac
No tests were found!!!
~/Documents/azure-iot/azure-iot-sdk-python
copy iothub_client library to samples folder
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python/src/iothub_client.dylib: No such file or directory
copy iothub_client_mock library to tests folder
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python/test/iothub_client_mock.dylib: No such file or directory
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python/src/iothub_client.dylib: No such file or directory
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python_service_client/src/iothub_service_client.dylib: No such file or directory
copy iothub_service_client library to samples folder
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python_service_client/src/iothub_service_client.dylib: No such file or directory
copy iothub_service_client_mock library to tests folder
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python_service_client/tests/iothub_service_client_mock.dylib: No such file or directory
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python_service_client/src/iothub_service_client.dylib: No such file or directory
cp: /Users/gaspersladic/Documents/azure-iot/azure-iot-sdk-python/c/cmake/iotsdk_mac/python/src/iothub_client.dylib: No such file or directory
python2.7 iothub_client_ut.py
Traceback (most recent call last):
File "iothub_client_ut.py", line 9, in
import iothub_client_mock
ImportError: No module named iothub_client_mock

forgot to clone repo with --recursive option. Now it builds.

Install Mac OS X Command Line Tools first: http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/ and make sure you have cloned this repo recursively. Spent 5 hours trying to figure this out, hope this helps someone.


Fix typo

What changes are proposed in this pull request?
Fix typo
Why are the changes needed?
Does this PR introduce any user facing changes?
No

alluxio-bot, merge this please


Updates to sigma

Generalizes the function "vars2sigma1" to accept any list of density surfaces: "vars2sigma".
Also adds a pre-defined "vars2sigma2" function which interpolates onto the density profile from the time-mean Pacific Ocean in ECCO.
Also adds a function called "matrixsaveinterpolation" in "MatrixFilters.jl". This function is used to save climatological air-sea fluxes to a binary format readable by MITgcm.

GitHub continuous integration already failing before this PR, needs to be fixed in main branch

conflict in ECCOtour.jl: keep both export/using statements

runtests now pass at GitHub in main branch after PR #58. Try merging main to this branch and then resolve any conflicts.


Add forge coverage commands to scripts

forge coverage is an essential script. In addition, forge coverage compilation runs without an optimization so it's possible that Stack Too Deep errors may occur for forge coverage but not for forge test(if optimization is enabled). Hence having this script early in the development lifecycle can ensure that any Stack Too Deep issues are quickly resolved and not compounded with other Stack Too Deep errors over time, especially since foundry does not output the specific files that have this issue so it's not easy to isolate the Stack Too Deep errors(which is unlike hardhat in my experience at least, but if this is the case in hardhat too then add scripts there).
Suggested scripts to add:
    "test:coverage": "forge coverage",
    "test:coverage:report": "forge coverage --report lcov",
    "test:coverage:html": "forge coverage --report lcov && genhtml lcov.info --branch-coverage --output-dir coverage",

It might also be helpful to do forge coverage instead of forge test in CI.

Great idea.
I can't implement this right away but I would be happy to review a PR.
let's just skip the second script and rename the last to coverage:report.


Should application certificate must be installed on a new node?

Hi,
We have an application that reads secrets from a key vault. Application is hosted on service fabric cluster. It is obvious that we have to install a certificate on the machine, so that the application can connect to specified key vault.
I have two queries to be clarified here.

We want to manually add a new node to existing cluster. Should we have to install the certificate again to the newly created node?
We use auto scale to scale out existing VMSS. Should we have to install the certificate again?

Thank you.

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

ID: 50ba1eba-ed39-2b4d-5c7f-e7ebf3786afb
Version Independent ID: c3c53d61-f89d-4bd2-5d0d-e2b4b54b4874
Content: Scale a Service Fabric cluster in or out - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-cluster-scale-in-out.md
Service: service-fabric
GitHub Login: @erikadoyle
Microsoft Alias: edoyle

@vinay-gunjalli
Thanks for your feedback! We will investigate and update as appropriate.

Hi vinay-gunjalli,
Yes for your new nodes to be able to access the key vault they must have the certificate so that would have to be copied over. You can set in your scaling configuration that when a new node is created it should have that certificate.


Can't override views for master.blade.php

Laravel Version: 5.5
Voyager Version: 1.0
PHP Version: 7.1
Database Driver & Version:

Description:
I cant override the master.blade.php  view, or any of the views!
Steps To Reproduce:
copy  tcg/voyager/resources/views  to resources/views/vendor folder
I really would like to use this backend you guys made, but if I can't override the admin blades, then it's absolutely useless to me!

You'll need to provide more information if you want a useful response.
Specifically, it would be helpful if you provided specifics of what you've done and how you know it's not working.
https://voyager.readme.io/docs/overriding-routes and https://laravel.com/docs/5.5/packages#views (subsection "Overriding package views").

Hi Fletcher,
Sure!
First thing I did was edited the \vendor\tcg\voyager\src\VoyagerServiceProvider.php
and added, 	    $this->publishes([ 		    __DIR__.'/../resources/views' => resource_path('views/vendor/voyager'), 	    ]);
after    $this->loadViewsFrom(__DIR__.'/../resources/views', 'voyager');
around line 96, then I ran
php artisan vendor:publish
php artisan view:clear
composer dump-autoload
Then I was reloading the /admin/login  page,
I thought, that page was using the master.blade.php  and after a closer look, I see the login page does not use the master blade, and has its own blade!!
but the overrides for the views are working!
Thanks!

You're asking for a bad time if you edit files under the vendor directory.  Please don't do that.
As for what you're doing, why do you need to publish all of the views? Can't you just copy the specific ones you need? If you truly need to override all of the views, then you'll likely be better off building your own solution instead of using Voyager.  The more you override, the harder it'll be to upgrade.  We come close, but we don't follow semver perfectly.  Breaking changes do make it into patch releases.

Please don't do that.

👍

@traintracr : copy tcg/voyager/resources/views to resources/views/vendor folder

Are you sure the file path is correct? Is your path resources/views/vendor/voyager/? As said  @fletch3555, you can add only one file...
Please, read my comment.

@ArtemMolotov, yes, voyager is needed at the end of the path, you're correct.  What do you mean by "can only copy one file"?

@fletch3555, I mean, if we need rewrite only one file, we "can add only one file" in resources/views/vendor/voyager/.

As for what you're doing, why do you need to publish all of the views? Can't you just copy the specific ones you need?

I'm sorry too... I must learn to speak more competently :)


Support array as value for parsing paths.

Hiera don't support array as value for parse_string.
Check https://docs.puppetlabs.com/hiera/1/variables.html#interpolation-tokens
This patch add an option to make the difference between string and array paths.
If it's an array simply create a path with each value in the array.
We can't get the entire scope but we can check the key.
For avoiding rewritring regex we add a key to the path.

+1 for the effort here.

Hi, thanks for the PR...
If I'm reading this right, this gives the ability to dynamically generate the hierarchy based on an array rather than hard coding it in hiera.yaml?   Interesting feature, what's the real-world use case for this?

@fgouteroux  :)
@crayfishx
This is your fault :) It's make a long time that we use roles & profiles. But with @fgouteroux we decide to remove roles and use only profiles.
Roles are stored in the node configuration like: profiles: ["base", "tomcat", "apache"], they are stored in a http backend (mongo) and generated dynamically depending the service we offer to our "customers".
(profiles is the mykey example putted in the README)
So in nodes.pp we make a loop on this profiles var and include them with "before" instruction (not the last) to be sure that they are included in the catalog sequantially.
The reason why I separate it from :paths: is that hiera will flat the array and replace it in the path like /somepath/basetomcatapache causing an useless request to my backend.

My bad, I think that we must unmerge this.

Supporting array is more for hiera instead of a backend

Lost of hierarchy search, if a key is in :paths: it will stop and never go in roles array. Example.
:paths_array:
mykey: /order3/%{mykey}
:paths:
- /order1/%{key1}
- /order2/%{key2}
- /order4/%{key4}

If test var is in order3 and order4 and I wan't the value from order4, it will stop on order3.
:paths_array:
  mykey: /order3/%{mykey}

:paths:
   - /order1/%{key1}
   - /order2/%{key2}
   - /order4/%{key4}

To keep hierarchy, I can put order4 path in :paths: and ignore it in build_paths if he is in :paths:.
As you can see, it's become very ugly if we wan't keep hierarchy.
We must change interpolate function directly in hiera, so I decide to move the hierarchy directly in my http backend and using only one path.

I don't understand your example(s) here - or the exact problem.... Are you trying to use paths with paths_array?  I understood that it would be an either/or thing.    Maybe grab me on IRC and we can discuss this? (crayfishx)

@ahmet2mir ^^ see above


feat/support XDC blockchain and add XSswap DEX connector

Before submitting this PR, please make sure:

[X] Your code builds clean without any errors or warnings
[X] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:

Support XDC chain include Xinfin mainnet and Apothem testnet: https://www.xinfin.org/
Support XSswap exchage on Xinfin mainnet and Apothem testnet: https://xspswap.finance/
Support xdc-prefix address in gateway api
Support all RPC nodes of XDC chain include xdc-prefix and 0x-prefix

Tests performed by the developer:
All test cases are passed on mainnet and testnet:

Setup test enviroment: https://github.com/gzliudan/hummingbot/blob/xdc-release-1.10.0/doc/setup-test-enviroment.md
Test XDC chain: https://github.com/gzliudan/hummingbot/blob/xdc-release-1.10.0/doc/test-xdc-chain.md
Test XSswap: https://github.com/gzliudan/hummingbot/blob/xdc-release-1.10.0/doc/test-xsswap.md
Test UI: https://github.com/gzliudan/hummingbot/blob/xdc-release-1.10.0/doc/run.md

@gzliudan Please create a New Post at Discord's #proposal-discussions channel, with links of this PR, snapshots, and other websites/webapp. Include also information about XDC blockchain and XSswap DEX.
Other community devs, and members may prefer to know more and ask questions before voting / approving.

@carlitogetaladajr OK, thanks.

Closing PR snapshot vote: failed


Tide API generates two post objects due to a race condition

When running an audit for a theme there is a race condition. If no endpoint exists for the checksum, both the PHPCS & Lighthouse servers will send their reports back to the API which creates two completely separate post objects. However, if one finishes posting the payload back to the API before the other service checks for the existing endpoint, everything works as expected.

I just had a thought. If the audits servers were to always POST to the checksum endpoint when it doesn't exist we could let the WP API handle the race condition on update/create. I don't see a reason why we couldn't ensure the audit servers always POST to a checksum endpoint when the API responds without an object and do an UPDATE when it does. Then add any logic, if any, to the WP action that handles the request to check if the post exists before creating it and this race condition should be fixed.

Update

Send the payload back to the endpoint that was given in the SQS message.

By respecting the endpoint this will ensure the Sync Server is facilitating a "return to sender" scenario by only using collection endpoints instead of performing unnecessary conditional logic to checksum each plugin/theme.

Handle create/update logic on the API side.

Add a filter that will check if the post object exists by the checksum instead of the ID if the endpoint is for a collection or checksum, and the checksum is in the payload.


Install with Mantra?

Is it possible to install meteor-useraccounts on Mantra/React, or are they Blaze-only?
I have run:
meteor add user accounts:unstyled
meteor add accounts-password
meteor add accounts-facebook
meteor add accounts-google
#

Now I want to display the registration form from a Mantra component.  The docs say to add:
{{> atForm}}
...but this throws an error from Mantra.
How do I include the registration form in a Mantra component?
Thanks in advance to all for any info.

@VikR1000 Did this answer your question? https://github.com/kadirahq/mantra/issues/166

Yes. Thanks!


Added example to the documentation for the normalize() method

Example with some sample usage for the normalize() method I wrote for myself (for clarification). If you like, you can add it.

on http://pullrequest.opencv.org/buildbot/export/pr/5448/docs/d2/de8/group__core__array.html#gad12cefbcb5291cf958a85b4b67b6149f Enumerators also need some explanation. maybe you want to add explanation if you have the information.

Ok, I will take a look. I already have an idea which might be helpful.

:+1:


Add support for escaped double quotes

The way the double quote detection was implemented would match on escaped double quotes as well. This leads to partial values in the environment variables.
The goal of this PR is to ignore the escaped double quotes (\") in the values and match only the opening and closing double quotes.

Thanks!


Is there any way to set up credentials for Redis ?

I'm using ratelimit with an existing Redis cluster which has credentials. Is there any way to configure them? or should I fork the project?

I'm not familiar with redis credentials, but PRs appreciated. I would have a look at the redis connection code.


Iptables not updating correctly for HostPort when using CNI chaining Portmap

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Using Cilium as a AWS VPC CNI replacement along with Portmap CNI chaining for HostPort pods:
eni:
  enabled: true

ipam:
  mode: eni

cni:
  configMap: cilium-cni-configuration
  chainingMode: portmap

apiVersion: v1
kind: ConfigMap
metadata:
  name: cilium-cni-configuration
  namespace: cilium-system
data:
  cni-config: |
    {
      "cniVersion":"0.3.1",
      "name":"cilium",
      "plugins": [
        {
          "cniVersion":"0.3.1",
          "type": "cilium-cni",
          "enable-debug": false,
          "ipam": {
            "pre-allocate": 20
          },
          "eni": {
            "first-interface-index": 0
          }
        },
        {
          "type": "portmap",
          "capabilities": {"portMappings": true}
        }
      ]
    }

Situation:
When restarting a pod with a HostPort, in this case listening on port 8126, we noticed that sometimes, the old iptables rule is not deleted, leading to service being unavailable. We ended up with a duplication of iptables rules, pointing to the same port on the old and new pods IP.
$ iptables -tnat -L | grep 8126
CNI-HOSTPORT-SETMARK  tcp  --  ip-10-210-135-109.eu-west-1.compute.internal  anywhere             tcp dpt:8126
CNI-HOSTPORT-SETMARK  tcp  --  localhost            anywhere             tcp dpt:8126
DNAT       tcp  --  anywhere             anywhere             tcp dpt:8126 to:<IP_ADDRESS>:8126
CNI-HOSTPORT-SETMARK  tcp  --  ip-10-210-148-146.eu-west-1.compute.internal  anywhere             tcp dpt:8126
CNI-HOSTPORT-SETMARK  tcp  --  localhost            anywhere             tcp dpt:8126
DNAT       tcp  --  anywhere             anywhere             tcp dpt:8126 to:<IP_ADDRESS>:8126
CNI-DN-d47c420e88d0edf95894e  tcp  --  anywhere             anywhere             /* dnat name: "portmap" id: "fea6e792eedef96ddc9fd0e46bfe71e85ee0a8c68d47753c1c3591a38e030ee3" */ multiport dports 8126
CNI-DN-23f180f03670ec8e0fb47  tcp  --  anywhere             anywhere             /* dnat name: "cilium" id: "b2d2c6302fac04975de3cf1b56e75b070ba6e75c1a6f5976b37f5a80d06b9b1b" */ multiport dports 8126

Here, our example is a daemonset that we restarted. The previous pod was using IP  <IP_ADDRESS> and the new pod has IP <IP_ADDRESS>. After the restart, the old IP was picked up by an unrelated pod, which doesn't have hostPort on 8126.
$ kubectl get pods -owide -A | grep <IP_ADDRESS>
datadog                   datadog-agent-t5lv7                                               4/4     Running            0          12m     <IP_ADDRESS>   ip-10-210-156-224.eu-west-1.compute.internal   <none>           <none>
$ kubectl get pods -owide -A | grep <IP_ADDRESS>
data-engineering          de-superset-microservice-59f854ddf8-rzgdj                         1/1     Running            0          169m    <IP_ADDRESS>   ip-10-210-156-224.eu-west-1.compute.internal   <none>           <none>

This issue occurred for every pod in the restarted daemonset.
What did we expect?
Upon pod restart, the old iptables rule should be deleted and a new one should be written with the new pod IP.
Quick fix
Flushing the chain CNI-HOSTPORT-DNAT on the host and restarting the pod with the hostPort fixed the issue.
Cilium Version
1.10.3
Kernel Version
5.4.156-83.273.amzn2.x86_64
Kubernetes Version
v1.20.11 in AWS EKS
Sysdump
We didn't capture one at the time.
Relevant log output
No response
Anything else?
Here is another example of iptables -L on another host.
$ iptables -tnat -L --line-numbers
[...]

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Wouldn't it be the responsibility of the Portmap CNI to iptables rule? If that's the case, then it's probably best to open this issue on their repository.

Hello @carloscastrojumo, have you checked our documentation regarding PortMap? Thank you

Wondering if the failure to remove the iptables chain relates to the existence of this error message:
# journalctl -u kubelet | grep ingress-ns7bf
(...)
qh6d kubelet[3065]: I0222 17:54:51.863911    3065 kubelet.go:1954] SyncLoop (PLEG): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)", event: &pleg.PodLifecycleEvent{ID:"341a0e10-4909-48fb-8b98-7cfa09f2c9b1", Type:"ContainerStarted", Data:"893fd57ede25917284a0b646e73485fd884d143f46bce1912d822db294aa0e99"}
Feb 22 17:55:19 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0222 17:55:19.910248    3065 kubelet.go:1954] SyncLoop (PLEG): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)", event: &pleg.PodLifecycleEvent{ID:"341a0e10-4909-48fb-8b98-7cfa09f2c9b1", Type:"ContainerStarted", Data:"de46e566592c45e7ed162428eca0ab0e627379b3b9dbf2d7ce9db1d5bb0d6702"}
Feb 22 19:46:06 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0222 19:46:06.839878    3065 pod_workers.go:191] Error syncing pod 341a0e10-4909-48fb-8b98-7cfa09f2c9b1 ("ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"), skipping: network is not ready: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
Feb 22 19:46:08 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0222 19:46:08.839933    3065 pod_workers.go:191] Error syncing pod 341a0e10-4909-48fb-8b98-7cfa09f2c9b1 ("ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"), skipping: network is not ready: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
Feb 22 19:46:10 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0222 19:46:10.839840    3065 pod_workers.go:191] Error syncing pod 341a0e10-4909-48fb-8b98-7cfa09f2c9b1 ("ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"), skipping: network is not ready: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
Feb 22 19:46:12 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0222 19:46:12.839869    3065 pod_workers.go:191] Error syncing pod 341a0e10-4909-48fb-8b98-7cfa09f2c9b1 ("ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"), skipping: network is not ready: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
Feb 22 19:46:14 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0222 19:46:14.839854    3065 pod_workers.go:191] Error syncing pod 341a0e10-4909-48fb-8b98-7cfa09f2c9b1 ("ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"), skipping: network is not ready: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
Feb 23 10:37:43 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:43.784588    3065 kubelet.go:1932] SyncLoop (DELETE, "api"): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"
Feb 23 10:37:44 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:44.550935    3065 kubelet.go:1954] SyncLoop (PLEG): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)", event: &pleg.PodLifecycleEvent{ID:"341a0e10-4909-48fb-8b98-7cfa09f2c9b1", Type:"ContainerDied", Data:"de46e566592c45e7ed162428eca0ab0e627379b3b9dbf2d7ce9db1d5bb0d6702"}
Feb 23 10:37:44 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:44.551012    3065 kubelet.go:1954] SyncLoop (PLEG): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)", event: &pleg.PodLifecycleEvent{ID:"341a0e10-4909-48fb-8b98-7cfa09f2c9b1", Type:"ContainerDied", Data:"893fd57ede25917284a0b646e73485fd884d143f46bce1912d822db294aa0e99"}
Feb 23 10:37:45 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:45.842163    3065 kubelet_pods.go:1243] Killing unwanted pod "ingress-ns7bf"
Feb 23 10:37:45 gke-main-ingress-011248ca-qh6d kubelet[3065]: E0223 10:37:45.879487    3065 kubelet_pods.go:1246] Failed killing the pod "ingress-ns7bf": failed to "KillContainer" for "nginx" with KillContainerError: "rpc error: code = NotFound desc = an error occurred when try to find container \"de46e566592c45e7ed162428eca0ab0e627379b3b9dbf2d7ce9db1d5bb0d6702\": not found"
Feb 23 10:37:49 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:49.864642    3065 kubelet.go:1932] SyncLoop (DELETE, "api"): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"
Feb 23 10:37:49 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:49.870554    3065 kubelet.go:1926] SyncLoop (REMOVE, "api"): "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)"
Feb 23 10:37:49 gke-main-ingress-011248ca-qh6d kubelet[3065]: I0223 10:37:49.871474    3065 kubelet.go:2115] Failed to delete pod "ingress-ns7bf_ingress(341a0e10-4909-48fb-8b98-7cfa09f2c9b1)", err: pod not found

Still trying to reliably reproduce this; could this be related to cilium-agent restarting on the node?

Has anyone else noticed that the name changed from portmap to cilium? We had a similar issue in GKE with Calico, the name was changed from k8s-pod-network to gke-pod-network and we had the same exact behaviour (old records not cleaned up). I remember seeing a comment on an issue in the https://github.com/containernetworking/plugins repo explaining that the rule comments are used to find rules, so I suspect that changing the name field in the CNI config is the underlying cause in this instance.


DMN Editor can not commit text content by click into undefined cell

For boxed expressions some, every and invocation (maybe more are affected) user can not commit the text of specific cell, see the attached screenshot by click into cell that is Undefined, clicking outside the boxed expression most parent works and changes are committed.

Steps to reproduce

Start to type a text into the red cell
Click into the blue cell - text is lost
vs click outside the boxed expression root - text is saved

This issue is related to the Boxed Expression Component, and it will happen to all expressions that uses the ExpressionVariableCell component. Clicking on any cell will cause to not commit the changes, only clicking outside the BEE component will work, or using the keyboard (enter/tab).


Songs sorted into mod folders in Freeplay

What feature do you want to get added on the base engine?
My idea:
In the Freeplay menu, sort the songs under their respective mod, and make the mods expandable and collapsable, like folders.
e.g.

Mod A

Song A
Song B
Song C

Mod B

Song A
Song B
Song C

Mod C

Song A
Song B
Song C

To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor, 6K+ support, and winning icons.

I'm one-upping this one, this would make things so much more organized and easier to name, because right now, you can't have 2 different weeks in 2 different mods with the same file name, only one ends up showing

i think its too custom for engine

Ehhh could be nice in some cases

i think its too custom for engine

Maybe add an option to disable it in the Project.xml or through a setting

if this were added I'd like separate story modes also, for crud like B-sides.


[BEAM-10327] Create a pattern that shows use of Schema using Joins

[BEAM-10327] Create a pattern showing use of Schema

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @tvalentyn @rezarokni
Staged: http://apache-beam-website-pull-requests.storage.googleapis.com/12097/index.html

@reuvenlax FYI work to have a nice pattern in the patterns section of the Beam docs for schema joins.

PTAL @rezarokni @tvalentyn

LGTM


Panel Overlapped after downloading new SDK

I have downloaded SDK on 28-Jan-2020 Everything was working fine

Today i downloaded new SDK and layout is overlapped
BorderContainer is overlapped on Panel.
Panel is hidden as BorderContainer overlapped it.

My investigation showed that the Setup shown above was not re-compiled and was therefore using a mix of old and new code.  I recompiled the setup and the output .js file looks correct, but on the VDI I am now not able to login and do further testing.
This was essentially not a good use of my time.  Please verify that the code you use is all the latest before filing bugs.

All setups are compiled with new SDK

On the VDI, they weren't compiled with the latest setup since CompanySetup was commented out of the build script, and thus the CompanySetup did not work correctly as a result.
I went and uncommented CompanySetup and re-compiled it and it appeared to have the right output, but then I could not log into the application on the VDI.
If you can get CompanySetup to show up on the VDI and it looks wrong, verify that the dbzCompanySetup.js file's data for spark.components.Panel specifies a skinClass.  I think you can search for 'skinClass' in dbzCompanySetup.js.

I am working locally because VDI is having issue.
CompanySetup is compiled with new SDK and dbzCompanySetup.js includes
this["skinClass"] = spark.skins.spark.PanelSkin},
dbzCompanySetup.js : https://paste.apache.org/s7wlw
But still issue in Panel.

In the debugger, verify that the dbzCompanySetup.js actually loaded by the browser contains the this["skinClass"] = spark.skins.spark.PanelSkin code.
Then if so, from the debugger console, see what
document.getElementsByClassName("Panel")[0].royale_wrapper.skin evaluates to and post a screenshot of the DOM under the Panel.
On the VDI, the skin was null because it was running old code

I have compiled CompanySetup on my local machine
Exception in CompanySetup after compiling it with new SDK
TypeError: Cannot read property 'dispatchEvent' of null                       (Panel.js)

after executing document.getElementsByClassName("Panel")[0].royale_wrapper.skin in Console

Something is still out-of-date on your system.  PanelView is no longer the view for Panel.

There' some issue in New SDK.Every setup is throwing Exception Please resolve this issue.
Everything is up to date on VDI and Everything is compiled with new SDK.
After replacing SkinnableContainerView  to SparkContainerView with New SDK
This Exception occurs :

After replacing SkinnableContainerView  to SparkContainerView with Old SDK everything works fine

PanelView should not be used if you are set up correctly

Please check on VDI when you have time

I think the issue is because of this commit : support custom skins in Spark Containers
After this commit it downloaded new sdk and issue occurs.please have a look at issues on VDI

Well, yes, that change should have cause PanelView to not be used anymore.  For some reason it is still being used which would cause a problem.  The most likely reason is that some code is not updated.  The VDI no longer has a valid Git repo so I cannot verify the source code.
I tried to use the VDI.  Company Setup looked like it worked.  Then I think somebody else started using the VDI.  I will stop using it.

Please connect the VDI,I have connected VDI for just a while.VDI is free now

TitleWindowSkin needs to replace TitleWindowView.  Apparently the recent issues are not reported against Company Setup but against a TitleWindow-based popup.  These are important details that should be reported instead of having to search the source code and interpret screenshots.

In which file TitleWindowSkin needs to replace with TitleWindowView?

That's a note to myself.  I put notes from my investigations on the VDI in these issues before working on them in case the VDI stops working.  There are other changes that need to be made as well.  You can make changes for DateBase and look at NumberFormatter precision issues.

What to change in NumberFormatter Precision Function?
public function set precision(value:Object):void
{
//precisionOverride = value;
        _precision = value != null ?
                     int(value) : int(value)
                    /* resourceManager.getInt(
                         "formatters", "numberFormatterPrecision") */ ;
    }

These exception on Every Setup and PanelTitleBar is hidden in Every Setup

I will need the VDI to work properly to investigate.

latest SDK is available on VDI using git clone and all library's and setups related to issues are compiled with new SDK,you can use VDI now

When I logged into the VDI, the Company Setup was visible and looked fine.  Will need more explicit steps to reproduce any issues.

Panels in Retail Inspection/Particulars Setup, and PickList_Discrete appear correct.  Will need explicit steps to reproduce any issues.


Add basic event handlers for HTML element in [Compile] webview

This adds basic event handlers for HTML element in [Compile] webview.
The purpose of this PR is to provide basic way to handle events in
JS and vs extension.
Later, "Compile" modeum needs to enable compilation by ONE by adding
more code into this JS code or _setWebviewMessageListener in
CompilePanel.ts file.
For https://github.com/Samsung/ONE-vscode/issues/331
Draft https://github.com/Samsung/ONE-vscode/pull/297
ONE-vscode-DCO-1.0-Signed-off-by: Hyun Sik Yoon<EMAIL_ADDRESS>

Please refer to animated GIF of this PR
--> one-vscode-pr.zip

For material of event passing between [webview <--> vs code],
please refer to https://code.visualstudio.com/api/extension-guides/webview#scripts-and-message-passing


Getting store info?

Hi,
I've been struggling for hours.
Any documentation/tips on getting the store info?

My apologies--I added in the ability to get store info a little while ago, but never updated the documentation (which I now have).
You can get it directly from the connection:
api = BigcommerceAPI::Base.new(
:client_id => APP_CLIENT_ID,
:store_hash => STORE_HASH/ID,
:access_token => OAUTH_ACCESS_TOKEN
)
api.store

Hmm,
THat's odd, I get some odd error (http://d.pr/i/18TeT)
!! #<JSON::ParserError: lexical error: invalid char in json text.

(right here) ------^
Any ideas what this means?

From that error, it looks like you're not hitting a proper store URL. It should return JSON, but you can see that it's returning HTML, which isn't valid. I can't tell what's in body[:context] but maybe that's the issue? Are you able to execute other requests?

Hey Mark
Just wanted to ask
Any way we can create pages via the API?
On Tuesday, January 27, 2015, Mark Dickson<EMAIL_ADDRESS>wrote:

From that error, it looks like you're not hitting a proper store URL. It
should return JSON, but you can see that it's returning HTML, which isn't
valid. I can't tell what's in body[:context] but maybe that's the issue?
Are you able to execute other requests?
--
Reply to this email directly or view it on GitHub
https://github.com/ideaoforder/bigcommerce_api/issues/6#issuecomment-71752054
.

--
Sincerely,
Emil Hajric,
CEO, Helpjuice.com
Office:<PHONE_NUMBER>
Cell:<PHONE_NUMBER>
Helpjuice, Inc.,
5 W Forsyth,
32202 Jacksonville, FL

Hey Emil,
At the moment there isn't, but if you want to fork the gem, it should be pretty clear from the other resources how to do it.
Let me know if you've got any questions.
Cheers,
Mark


GitHub action for the test suite (experiment)

@QuintinWillison FYI, I have successfully be able to run the test suite on Github actions but it is the same behaviour as Travis. So, we have no other choice, we need to fix the failing tests.


[IOS] NfcManager.requestTechnology is returning 'NFCError:204'

Hi. I study on project that i read a NFC token and write according to data in token.
I can read the token but i get an error while writing.
I guess i have to use requestTechnology method for can use writeNdefMessage method.
On Android works perfectly but on IOS requestTechnology is returning 'NFCError:204'.
Here is my code basically:
await NfcManager.start();
console.log("<--- START --->");
await NfcManager.registerTagEvent().then(() => console.log("<--- Registered --->"));
await NfcManager.requestTechnology(NfcTech.Ndef) // or NfcTech.MifareIOS
      .then(res => console.log("Tech: ", res))
     .catch(err => console.log("Tech Err: ", err)) // <---- here
await NfcManager.writeNdefMessage(bytes)
      .then(() => {
          console.log("successful");
          _cleanUp();
      }).catch(err => {
          console.log("Write Error: ", err);
          _cleanUp();
      });

Console output:
<--- START --->
<--- Registered --->
Tech Err:  NFCError:204
Write Error: No ndef available

I searched this error on web.
It is meaning: ReaderSessionInvalidationErrorFirstNDEFTagRead - the initial ndef tag was invalid.
Why am i getting this error.

@ibrahimdogruer Hi, this means the tag is not properly NDEF formatted.
NDEF is a higher-level format on top of the raw NFC tag's internal memory structure. However, iOS requires you to first format the NFC tag into NDEF before you can write NDEF into it. On the other hand, Android isn't that strict about this.
You can check FAQ for some more explanation.


MenuButton causes gtk error only in f38

i have a HeaderBar with a viewable in it that contains a MenuButton. It works fine in fedora 37 and ubuntu 22.04.1, but causes the below gtk error when clicking on it in fedora 38.
Gtk-CRITICAL **: 06:39:43.725: _gtk_css_corner_value_get_x: assertion 'corner->class == &GTK_CSS_VALUE_CORNER' failed
thanks

It seems like this was a bug in GTK that should be fixed in the n

hmm, i think i forgot to check upstream for that... thanks


Add support for Python 3.11

This will mainly just be adding 3.11 to the text matrix, but there may also be some issues with our use of Enums.

Closed by #62.


Request your work to be included in the awesome Zepp OS project

Hello @lc6464
Please allow me to introduce myself, I am Myoung XUE, an engineer from Zepp OS Team.
We have an awesome project https://github.com/zepp-health/awesome-zeppos, as the name suggests, where we include many projects from the community that are relevant to Zepp OS.
We noticed that several of your projects are publicly available on Github and would like to ask your permission to include them in the official awesome zeppos repository.
Hopefully, we can get your approval and your project will help more developers in the community.

我很乐意贡献我的 Gaokao-Countdown-ZeppOS ，感谢您的认同。
QRCode-Viewer-ZeppOS 是由 @fwz233 开发的，您可以尝试联系他，我也会向他征求意见。
I am happy to contribute my Gaokao-Countdown-ZeppOS, thank you for your approval.
QRCode-Viewer-ZeppOS is developed by @fwz233, you can try to contact him, I will also ask him if he agrees.

已经向 @fwz233 确认，他已同意贡献 QRCode-Viewer-ZeppOS 的代码，感谢您的认可。
It has been confirmed to @fwz233 that he has agreed to contribute code of QRCode-Viewer-ZeppOS, thank you for your approval.


fix🐛: cookie expired too soon

Close #52.

It still lacks the function to extend the cookie expire date without adding new entry to message history.


Application uses local running tracker

The Application class uses a local variable to keep track of instance running status. This is bad for obvious reasons, mainly because all Application instances will share the same running variable causing unwanted behaviour.

Commit https://github.com/HexCodeCC/DynaCode/commit/ea2dc412f523e5492ffb49d4cddc6ef11d38b6ce resolves this oversight.


Rename db Engines related functions

To make it not confusing, this PR renamed some functions related database Engine.

[x] GetNewEngine -> NewEngine: this function will return a xorm.Engine as the first return parameter, so call it New is suitable.
[x] SetEngine -> InitEngine: it will call the original GetNewEngine and assign engine to the db package variable x. So we call it Init.
[x] NewEngine -> InitEngineWithMigration: the function will call SetEngine with some migration functions.
[x] NewInstallTestEngine -> InitInstallEngineWithMigration: the function will call SetEngine with some test special statements.

trigger bot


Need to deal with nested status resources

While attempting to add support for microsoft.network VirtualNetworks I realized that there are infinite type reference loops in VirtualNetwork_Status.
When controller-gen runs, it finds these recursive loops and prunes them, but doesn't replace them with anything, resulting in an invalid CRD - note the fact that the subnet property is missing a type:
properties:
  description: 'Properties: Properties of the IP configuration profile.'
  properties:
    provisioningState:
      description: 'ProvisioningState: The provisioning state of the IP configuration profile resource.'
      enum:
      - Deleting
      - Failed
      - Succeeded
      - Updating
      type: string
    subnet:
      description: 'Subnet: The reference to the subnet resource to create a container network interface ip configuration.'

There are a bunch of them but the errors they cause look like:
spec.versions[0].schema.openAPIV3Schema.properties[status].properties[properties].properties[subnets].items.properties[properties].properties[ipConfigurationProfiles].items.properties[properties].properties[subnet].type: Required value: must not be empty for specified object fields

I examined the type in question and found the following:

Subnet_Status.Properties refers to SubnetPropertiesFormat_Status.
SubnetPropertiesFormat_Status.IPConfigurations refers to IPConfiguration_Status.
IPConfiguration_Status.Properties refers to IPConfigurationPropertiesFormat_Status.
IPConfigurationPropertiesFormat_Status.Subnet refers to Subnet_Status.

This same pattern plays out with a number of other properties for Subnet (and other networking resources).
Strangely, if you actually go and create a VirtualNetwork and examine the JSON returned by Azure, it never embeds the IPConfiguration_Status inline in the response - which makes some sense because IPConfiguration_Status is actually the status of an entirely separate resource (an IPConfiguration) - instead the Subnet it looks like this:
{
    "name": "default",
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/matthchr-vmss-temp/providers/Microsoft.Network/virtualNetworks/matthchr-vmss-temp-vnet/subnets/default",
    "etag": "W/\"74a1c665-b8e1-4599-8108-59d3855baffe\"",
    "properties": {
        "provisioningState": "Succeeded",
        "addressPrefix": "<IP_ADDRESS>/24",
        "ipConfigurations": [
            {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/matthchr-vmss-temp/providers/Microsoft.Compute/virtualMachineScaleSets/temp/virtualMachines/0/networkInterfaces/matthchr-vmss-temp-vnet-nic01/ipConfigurations/matthchr-vmss-temp-vnet-nic01-defaultIpConfiguration"
            },
            {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/matthchr-vmss-temp/providers/Microsoft.Compute/virtualMachineScaleSets/temp/virtualMachines/1/networkInterfaces/matthchr-vmss-temp-vnet-nic01/ipConfigurations/matthchr-vmss-temp-vnet-nic01-defaultIpConfiguration"
            }
        ]
    },
    "type": "Microsoft.Network/virtualNetworks/subnets"
}

It turns out that when you look at the SubnetPropertiesFormat object in Swagger that references IPConfiguration. IPConfiguration specifies allOf with SubResource which just has a single id field.
I think what this is accomplishing is that it allows the resource to be embedded for PUT (for example in an ARM template or in the SDK). I think that GET is always going to return the id. It can't use the embedding in GET consistently because there's a circular reference and it'd be returning an infinite stack of objects.
What this means is that at least for networking (and I suspect this pattern is followed elsewhere as well), we should detect embedded resources and just remove them entirely.
This is going to be a bit tricky though because context matters:

When IPConfiguration_Status is used as a nested property in another resource (for example on ipConfigurations collection of Subnet) it should just include the id string and nothing else.
When IPConfiguration_Status is used as a top-level status type for the IPConfiguration CRD, it should contain everything (we could probably omit id but having it there likely doesn't hurt anybody).

It's possible that we have a similar problem somewhere for Spec resources although I haven't seen it yet.

Possibly we can make use of https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#rawextension if we want to keep the embedding aspect, although I am not sure we do.

For some reason the Microsoft.Network resources don't have this nesting in their Spec types even though you would think that they would want it given the theory that "embedded resources for PUT as part of ARM templates" is the scenario we were thinking was enabled...


More logging when pausing partitions

When KCBQ pauses a partition when bufferSize is exceeded, you see:
Pausing all partitions for topic: foo

We never log when it's unpaused. We also don't log which partitions are being paused. This makes the logs look funny, since you just see a bunch of pausing messages over and over again.
Other asks:

Print the buffer size for the topic/table in question, at the time of pausing (since it can exceed bufferSize).
Log how long the topic was both paused and unpaused for.

Something like this would be really useful:
Pausing partitions for topic with buffer size 103434 after 17023ms: [foo-0, foo-4, foo-10]
Unpausing partitions for topic after 18304ms: [foo-0, foo-4, foo-10]

Keeping these as info-level should be fine.

Done with https://github.com/wepay/kafka-connect-bigquery/pull/67


Question: Is there any example for BR/EDR profile/protocols (like A2DP, AVDTP, RFCOMM)?

There is a sample bluetooth/handsfree for HFP. Whether is there any example for A2DP, AVDTP?

There is a sample bluetooth/handsfree for HFP. Whether is there any example for A2DP, AVDTP?

No, there isn't one right now. We are working on LE Audio and that is our main focus, so not much effort has been put into BR/EDR at all.

Thanks.


[Network] Support vhub get effective routes and vhub connection routing configuration

This PR includes the following features requested in https://github.com/Azure/azure-cli/issues/12959:

Get the effective routes configured for the Virtual Hub resource or the specified resource.
Manage routing configuration for virtual hub vnet connection.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

add to S173


False breaking build issues on in-rande update

Hi guys. First of all thanks for great tool!
Last couple of days I faced with multiple issues "in-range update is breaking build", in build logs I see that updated package version was not found.
After I manually restart build - everything is green.
For example:  https://github.com/s0ph1e/node-website-scraper/issues/150
Probably it is appveyor-CI problem, but it would be great to reduce amount of false breaking build issues created by greenkeeper bot

Related to #338

Thanks for reporting. I'll close this as a duplicate of #338, where the problem is described.


SHA256 mismatch

MongoDB
Expected: 8a8993e1914801ace5ce83c92bf4c43127669750e9dec8eb93574e57729e9c42
Actual: 818a4b8bbcb50878a8b1b9f71b4274d242ab46bf860c74676e98dec1d0248821
Archive: /Library/Caches/Homebrew/scons-2.3.5.tar.gz
To retry an incomplete download, remove the file above.
brew update did not fix

SourceForge is still having a lot of problems (https://github.com/Homebrew/homebrew/issues/41778); unfortunately this is just something we have to wait for them to fix.


Operate scope in context

my script code

fn main{
  push_item("some data");
}

I define an array in scope,Execute the script to get the results

let mut scope = Scope::new();
scope.set_or_push("list",[""]);
self.engine.call_fn(&mut scope, &ast, "main", (target.clone(),))?;
let list = scope.get_value::<Array>("list").unwrap_or_default();
println!("{:?}",list);

register_fn

use rhai::plugin::*;

fn push_item(context: NativeCallContext,item:&str){
    println!("{:#?}",context);
    // I want to find the list in the scope in the context and add the item to the list
    // #TODO
    let mut list = context.scope.get_value::<Array>("list").unwrap_or_default();
    list.pust(item);
    context.scope.set_or_push("list",list);
}

pub fn register_context_ctx(engine: &mut Engine) {
    engine.register_fn("push_item",push_item);
}

Maybe I can write scripts like this, but I want to reduce the difficulty of writing scripts. Sometimes I forget to define list
Or I want to make scripting more standardized and make it a framework

let list = [];
fn main(){
    list.pust("some data");
}

This is better

fn main{
  push_item("some data");
}

This may match what you want: https://rhai.rs/book/patterns/events.html

okay, thank you

But it seems that it needs to create the engine and scope repeatedly, which is expensive. I've tried
The variable scope found cannot be used in the second function, Is this normal? Why is it designed like this?

let mut engine = Engine::new();
let ast = engine.compile_(script_code);
let mut scope = Scope::new();
scope.set_or_push("host", "<IP_ADDRESS>");
engine.run_ast_with_scope(&mut scope, &ast)?;

script code

fn push_item(s) {
    print(host);
}
print(host);
push_item("A");

err

<IP_ADDRESS>
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Variable not found: host (line 2, position 11) in call to function push_item (line 5, position 1)'

let mut engine = Engine::new();
let ast = engine.compile_(script_code);
let mut scope = Scope::new();
scope.set_or_push("host", "<IP_ADDRESS>");
engine.call_fn(&mut scope, &ast, "verify", (host,))?;

script code

fn push_item(s) {
    print(host);
}
fn verify(s){
    print(host);
    push_item(host);
}

err

<IP_ADDRESS>
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Variable not found: host (line 2, position 11) in call to function push_item < verify', src/main.rs:14:49
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Functions cannot access the global scope.  Functions are pure.

But it seems that it needs to create the engine and scope repeatedly, which is expensive. I've tried

No it doesn't.  As per the example, it is created once and kept alive inside a Handler type.

Has this issue been resolved?


Fixed a couple of typos.

Hey @jgnatch, @kitop,
First of all, good job releasing this! This PR fixes a couple of typos in the Readme. I also changed occurrences of styleguide to style guide to be consistent, as there were 4 other occurrences of style guide.
Please check it out, thanks!

Thanks @mauro-oto :grinning:
Let me know if you start using it on any OmbuLabs project.
Merged!


Bootstrap input-unfocus animation breaks slide transition animation

When dealing with bootstrap text input fields, clicking outside of an input field kicks off a bootstrap animation to unfocus it. I've created some custom buttons, but I noticed that when clicking the button, the bootstrap animation begins for un-glowing an input and that transitionEnd ends up also causing the slide transition to end prematurely. If I click somewhere to un-focus the input field and wait for the animation to be over, the sliding animation completes as it's supposed to.

Never addressed.


To do: Export the dataset from polygon select

@ldr426 : I split this from your original #119 so that you can do the box data export first and polygon data export later.


update dotnet search columns option

Summary
This PR fixes the mentioning that --columns takes a comma separated list as value.
Additionally, I also updated the docs to be consistent with the dotnet new search --help output, and fixed small typos.
Fixes #40210

Internal previews

📄 File
🔗 Preview link

docs/core/tools/dotnet-new-search.md
dotnet new search

@timdeschryver Another CLI issue available is https://github.com/dotnet/docs/issues/39276


request help:  can't create ApisixTls

Issue description
Run the command kubectl apply -f with the filename of the following content, and gets the error message as shown in the screenshot below.
apiVersion: apisix.apache.org/v1
kind: ApisixTls
metadata:
  name: code-devtaoism-tls
spec:
  hosts:
  - code.devtaoism.com
  secret:
    name: code-devtaoism-acme-crt-secret
    namespace: default

Environment

your apisix-ingress-controller version (output of apisix-ingress-controller version --long): not sure where to find and run this command.
your Kubernetes cluster version (output of kubectl version):

if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (uname -a):
Linux master-ash-1 5.15.0-37-generic #39-Ubuntu SMP Wed Jun 1 19:16:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Tried to change the apiVersion to v2beta3 and got it working correctl, though https route still doesn't work.

You can refer to https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/practices/manage-certificates-with-cert-manager.md


Use of NVDA screen reader disables keyboard navigation in mat-tree

Bug, feature request, or proposal:
When NVDA screen reader is on, navigation using tab, shift-tab, space, enter, and up and down arrows does not work as expected.
What is the expected behavior?
While using a screen reader such as NVDA, to be able to navigate through a tree, select or open and close drawers using the keyboard.
What is the current behavior?
Enter key specifically does not work - it is impossible to select a checkbox in the checkbox tree example.
What are the steps to reproduce?
Video: https://www.youtube.com/watch?v=0cQHC8d4y10
To reproduce:

Install NVDA - https://www.nvaccess.org/download/
Turn on NVDA
Visit Angular Material Tree examples - https://material.angular.io/components/tree/examples
Tab to the caret in "Tree with checkboxes" example
When focus is on the caret, press spacebar - drawer should open
Tab to almond meal flour checkbox, and press spacebar - checkbox should be checked

What is the use-case or motivation for changing an existing behavior?
Angular Material should take steps to ensure that functionality works for users with screen readers in order to be accessible.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
6.4.7
Is there anything else we should know?

AFAIK the tree doesn't have keyboard support at the moment. https://github.com/angular/material2/pull/10691 was supposed to add it. cc @jelbourn

Yeah, this is something on the backlog for both tree and table. Neither of them include keyboard shortcuts automatically, but we wanted to include add-on directives that would bring in the keyboard interaction.

Hey @jelbourn  is this feature in the making any time near, because I really need keyboard navigation or should I look toward taking a different approach which does not involve tree.

In my experience, this problem only occurs with trees that have a flattened structure. With those trees, the first group of nodes is the only one that can be expanded and selected.
The ones with nested nodes work as I would expect them.
However, I do not use NVDA for anything other than testing and am not an actual daily user of it, so what I expect might not be how it is supposed to work.

This doesn't appear to be a feature request. Requiring voting on accessibility defects from the community is not appropriate and is discriminatory. Since that comment was made by a bot, I don't know if it was intentional. Either way, please reconsider your approach. CC @jelbourn @crisbeto
That being said, it appears that this specific bug may already be resolved.


Package not found in npm

Hi, when I tried to install delete through npm it returns 404 Not Found
URL: https://registry.npmjs.org/delete/-/delete-1.1.0.tgz
Do you know if this package has been deleted from npm?
Thanks in advance!

Thanks for opening the issue. I've notified NPM and it looks like they are already aware of the problem.

Great! Thanks!

I'll close this issue since it is not a problem in the repo.
Thanks a lot!

Thanks! It looks like the latest version of delete has been restored and they're working on the other versions. You can see the NPM status here: https://status.npmjs.org/incidents/36j9bnllqtnj


Virus block from Bitdefender

BetterDiscordWI.exe blocked by Bitdefender Antivirus Plus 2018 (Build <IP_ADDRESS>) with code Trojan.GenericKD.12786310

i didnt have this problemit installed fine here
u setup ur bitdefender wrong?


Tensorflow installation error

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

Dear Tensorflow  expert,
I have tried to use miniconda to install Tensorflow cpu for Windows10. It went smoothly. However when I test it with simple line:
import tensorflow as tf
There is Import Error: DLL load failed: The specified module could not be found.
How can we fix it and have tensorflow installed completely?
Thank you in advance!

@Pinkmei  Please refer the link for similar issue and let us know if it helps.

Thank you. I have installed it successfully.


Poltergeist keeps timing out

Hey!
I am having problem trying to access couple of international urls. Poltergeist keeps constantly timing out even when I increased timeout to 180 seconds
http://www.huffingtonpost.kr/news/politics
http://www.huffingtonpost.co.uk/politics
Capybara::Poltergeist::TimeoutError: Capybara::Poltergeist::TimeoutError
from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/web_socket_server.rb:87:in rescue in send' 	from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/web_socket_server.rb:83:in send'
from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/server.rb:33:in send' 	from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/browser.rb:316:in command'
from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/browser.rb:31:in visit' 	from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/poltergeist-1.6.0/lib/capybara/poltergeist/driver.rb:95:in visit'
from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/capybara-2.4.4/lib/capybara/session.rb:227:in visit' 	from /Users/bvygovsky/.rvm/gems/ruby-2.1.0/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in block (2 levels) in module:DSL'
from (irb):17
from /Users/bvygovsky/.rvm/rubies/ruby-2.1.0/bin/irb:11:in `'
here is my poltergeist setup:
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {
debug: true,
js_errors: false,
:timeout => 60,
inspector: false,
window_size: [1900, 1200],
phantomjs_logger: open('/dev/null'),
phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes', '--ssl-protocol=any'],
})
end
When I turned on debug on I see:
{"name":"visit","args":["http://www.huffingtonpost.co.uk/politics/"]}
{"name":"reset","args":[]}
{"response":true}
{"name":"find","args":["xpath","/html/body/*"]}
{"response":{"page_id":0,"ids":[]}}

Is this still an issue with the latest poltergeist and phantomjs?  Is it waiting the timeout length you specify and then timing out? or is it just timing out early?

Closing due to lack of response


delete_if_exists

delete will fail if the node does not exist. Can we have a version (or an arg) that remove if exists ?

Why not just catch the dpath.exceptions.PathNotFound exception and ignore it?
If you don't want to introduce a bad habit like ignoring exceptions, you could search first, then delete.
Would neither of these be acceptable?

An option just like path.py ‘s mkdir would do the job. Adding try/catch at every calls would be quite overbloated

This is something that certain users in certain circumstances might benefit from, but I don't think it's right for the functionality to belong in dpath.
The least surprising thing for delete() to do if you ask it to delete something that doesn't exist is for it to tell you that you're asking it to perform an action that cannot succeed.
The existence of a mkdir() method in the path.py library seems to potentially support the idea, but the user is advised (in README.rst) to not dig beyond the util library. The stuff in path.py only exists to make the stuff in util.py work, mkdir in particular, because we would reuse that logic in a few different places - but only in the backend. Everything that goes into util.py is a contract with the user, so we don't add code there lightly, as we have to maintain it forever once it's there or until that API spec is deprecated.
Currently our recommendation is to simply catch and discard the exception generated. A  wrapper method will prevent you having to rewrite the same try/except/pass logic over and over again.
def delete_if_exists(obj, path):
    try:
        dpath.util.delete(obj, path)
    except dpath.exceptions.PathNotFound as e:
        pass


Add configurable logic to decision to ignore duplicate init data

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
DrmEngine.newInitData() decides whether to create a new session based on whether the initData has already been seen. We have some advanced DRM features which means sometimes we'd like to change this result to:

Force session creation regardless of whether we've already seen the initData
Prevent session creation regardless of whether we've seen the initData
follow the default behaviour

Describe the solution you'd like
We'd like to provide a function in the DRM configuration which will return one of the three options listed above (something like 'FORCE_CREATE', 'FORCE_IGNORE', or 'CHECK_FOR_DUPLICATE')
Parameters for the above function will include the initData for the keySystem, and the keyStatuses:
      let initDataAction = 'CHECK_FOR_DUPLICATE';
      if (this.config_.initDataIgnoreOverride) {
        // Need to find the initData for current keySystem
        const systemIds = shaka.media.DrmEngine.defaultSystemIds_;
        const keySystem = this.currentDrmInfo_.keySystem;
        const currentSystemId = systemIds.get(keySystem);
        const pssh = new shaka.util.Pssh(initData);
        if (pssh) {
          const index = pssh.systemIds.indexOf(currentSystemId);
          if (index >= 0) {
            const ksInitData = pssh.data[index];
            const keyStat = this.getKeyStatuses();
            initDataAction = this.config_.initDataIgnoreOverride(ksInitData, keyStat);
          }
        }
      }
      if (initDataAction === 'FORCE_IGNORE') {
        shaka.log.debug('Ignoring init data');
        return;
      }
      if (initDataAction === 'CHECK_FOR_DUPLICATE') {
        const metadatas = this.activeSessions_.values();
        for (const metadata of metadatas) {
          if (shaka.util.BufferUtils.equal(initData, metadata.initData)) {
            shaka.log.debug('Ignoring duplicate init data.');
            return;
          }
        }
      }
      // Either FORCE_CREATE or no duplicate found
      this.createSession(initDataType, initData,
          this.currentDrmInfo_.sessionType);

Describe alternatives you've considered
I can't think of an alternative, but would welcome any suggestions
Additional context

Reviewing the requirements once again, the 'FORCE_CREATE' is not necessary. We need the 'FORCE_IGNORE' and the 'CHECK_FOR_DUPLICATE'.

@Wayne-Morgan are you interested on send a PR for it? Thanks!


fix(database): adjust column sizing for list view

SUMMARY

adjust column widths for database list view to allow full table to show at 1280px viewport width (MBP 13in)

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before:

After:

TEST PLAN

👀

adjust browser viewport to be 1280px wide
table should render all columns in view

ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #12137
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12146 (a02fbc6) into master (865beae) will decrease coverage by 2.54%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12146      +/-   ##
==========================================
- Coverage   65.82%   63.27%   -2.55%
==========================================
  Files         988      481     -507
  Lines       48702    29699   -19003
  Branches     4907        0    -4907
==========================================
- Hits        32056    18792   -13264
+ Misses      16501    10907    -5594
+ Partials      145        0     -145

Flag
Coverage Δ

cypress
?

javascript
?

python
63.27% <ø> (-0.93%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/databases/commands/create.py
32.65% <0.00%> (-59.19%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-12.78%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

... and 527 more

Continue to review full report at Codecov.

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


Setup does not survive a reboot

I don't know if that is as intended, but after a reboot the master node is unable to bring up the cluster again.

That's a known issue, and is due to how self-hosting is implemented in kubeadm for the moment (it's alpha :smile:). Basically, there is no checkpointer atm, so when kubelet comes up the 2nd time it don't know what to run (tries to get information from the API, which waits for kubelet to start it).
Right now self-hosting is required for this guide, but it won't be in the future.
Would you like to contribute a "known issues" section and add this? :smile:

Perfect, fixed with #4

I've now stopped using the self-hosted mode, so I expect reboots to start working again.
Will create an issue to remove that known limitation if I'm successful restarting a node/master


init_thread_pool(0) will freeze the worker with no error

Expected behavior
Switching to optimal thread number or throwing an error.

Adding an error makes sense, but I wonder how/why did you pass 0 in real-world code.

I thought the behavior would be the same as Rayon's num_threads API.

If num_threads is 0, or you do not call this function, then the Rayon runtime will select the number of threads automatically. At present, this is based on the RAYON_NUM_THREADS environment variable (if set), or the number of logical CPUs (otherwise).

And many other thread-related APIs also use 0 or -1 to select the number of threads automatically. No idea whether it's possible in the browser context though.
This behavior can be learned during development, but document or error messages can be very helpful.
And thanks for this tool! It's really amazing.

Ah interesting.
I kind of wanted to keep number of threads manual to make sure that users don't get code bloat from automatic detection, so for now I'm leaning towards making this a clear error.
Need to check how to do it without also significant code bloat though.

If you want to send a PR to add such error, that would be welcome too btw.

Ok, I'll submit a PR~


Access token for test is expired

https://github.com/pulumi/pulumi-azuredevops/actions/runs/3035113254/jobs/4884960750

Token has been updated for another year and added to GHA and 1Password


Improvements jan2024

According to Ubuntu's documentation, choosing "none" as the IO scheduler is the best choice for fast random-access devices such as NVME. They don't get much faster than Apple's.

https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers

forcefully disable CMD_NFS to achieve the same security improvement as this Fedora Asahi Remix patch:

https://copr-dist-git.fedorainfracloud.org/cgit/@asahi/u-boot/uboot-tools.git/tree/0001-disable-NFS-support-by-default.patch?h=f39

decrease the boot delay
disable the submarine logo on boot because it looks goofy

These are still opinionated changes without significant evidence to back up claims.
I don't see how the NFS disable applies to us; I don't think it's possible to get network in U-Boot on Apple Silicon anyway.

I don't think these changes are particularly opinionated.  They are mostly intended to more closely match the state of NixOS itself and of the builds Fedora Asahi Remix ships.

The NixOS installer ISO attempts to disable IO schedulers by passing the elevator=noop boot argument to the kernel.  (This is an antiquated way to do so, and I believe modern kernels ignore the argument.  Nevertheless, it indicates that NixOS itself has the opinion that the IO schedulers should be disabled.)
By disabling NFS, we match how Fedora builds u-boot, and remove a source of uncertainty should we ever face difficulties with u-boot that require debugging.
Decreasing the u-boot boot delay also decreases the total boot time, which is a nice benefit for users.

Some experimental data on IO schedulers on NVME drives:
https://www.phoronix.com/review/linux-56-nvme


Could you add an example of client can input multi times?

1.I make the client can input serval time, but couldn't detect disconnect from client. How can I handle client disconnect?
import asyncio
import pathlib
import ssl
import websockets
async def recv_msg(websocket):
while True:
recv_text = await websocket.recv()
response_text = f"your submit context: {recv_text}"
await websocket.send(response_text)
async def main_logic(websocket, path):
# await check_permit(websocket)
await recv_msg(websocket)
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
localhost_pem = pathlib.Path(file).with_name("localhost.pem")
ssl_context.load_cert_chain(localhost_pem)
start_server = websockets.serve(main_logic, 'localhost', 8765, ssl=ssl_context)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
2.How can we make server.py can send message to some client when connected?(Sometimes server need to send system message to client without client send message to server.)

Just call recv_msg in a loop.
Call await websocket.send(greeting_message) before anything else in main_logic.


Allow build context for docker build as a dev mode parameter

We should allow users to specify the build context (PATH) for the docker build we use in dev mode.
When using Docker, users must specify a PATH, URL, or -. We need to determine what we will accept for dev mode. (https://docs.docker.com/engine/reference/commandline/build/)

Dev mode uses the location of the Dockerfile as the build context.  We can keep this behaviour unless a different build context is needed.


FIX - Incorrect redirects(hyperlink)

Change of the hyperlinks to the correct urls

Looks good, thanks for the contribution @mhtalci !


Add directory-listing to IPFS views when no index.html is present

Go to this URL:
ipfs:/ipfs/QmW1bhojT2TEqMzmRvpKQhHKBPfBv84Mvra3RporfczFec
You will receive the error "This site cant be reached"
I would expect to see something like on the ipfs gateway:
https://ipfs.io/ipfs/QmW1bhojT2TEqMzmRvpKQhHKBPfBv84Mvra3RporfczFec

Yep, this has been a todo

Done


Please invite me to the GitHub Community Organization

Name
Nirmit
Discord Username (if applicable)
Nirmit#6905
Additional Context
I got to know about this community through GitHub feeds. I like how people come together and help each other to learn new skills and grow.

Welcome to the EddieHub community, @Nirmitjatana! 😄👋🎉


ApplicationBuilder for testing in TestHost

For introspective tests I'd like to add a bit of middleware to the start of the middleware pipeline for diagnostics of the middleware pass bag (properties).
This time I could get by through overriding my Startup class, add a middleware and calling the base, but I imagine there are enough cases where everyone needs a bit more control.
I've come to the following conclusion:

I can add a new IApplicationBuilderFactory concrete to the services via ConfigureServices
That factory builds a special ApplicationBuilder that has methods useful for testing, e.g. more hooks into the moving parts.

I was expecting to find something like this ready to use in the TestHost package, however no such thing. Is this something you would consider adding?

You can use an IStartupFilter to do this already, no need to replace the IApplicationBuilderFactory

These IStartupFilters are tacked on the front of the pipeline?
Only have to add it to the services I presume?
Not to be pedantic but where are the docs for this nice piece of extensibility?

These IStartupFilters are tacked on the front of the pipeline?

You can add them before or after. Like middleware.

Only have to add it to the services I presume?

Yep. An example: https://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNetCore.Hosting/Internal/AutoRequestServicesStartupFilter.cs

Not to be pedantic but where are the docs for this nice piece of extensibility?

Not sure, can you file an issue on https://github.com/aspnet/Docs.

You can add them before or after. Like middleware.

Well that's not completely true now right?

Microsoft.AspNetCore.Hosting.Internal.WebHost:143-155

    var builder = builderFactory.CreateBuilder(Server.Features);
    builder.ApplicationServices = _applicationServices;

    var startupFilters = _applicationServices.GetService<IEnumerable<IStartupFilter>>();
    Action<IApplicationBuilder> configure = _startup.Configure;
    foreach (var filter in startupFilters.Reverse())
    {
        configure = filter.Configure(configure);
    }

    configure(builder);

    return builder.Build();

They are configured before calling the configure delegate, hence they will always be in front of the Startup middlewares.
Thank you for your pointer to this stuff though!
I will reference this issue in a new one on https://github.com/aspnet/Docs.

EDIT: nvm, didn't look at the examples.
I thought it was just a middleware func being added, but its a pipeline wrapping the next pipeline.


 Some distros
don't ship that one.

Thanks!


Use ISO 8601 format for changelog dates.

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules

/area tests

/area proposals

What this PR does / why we need it:
In releases up to and including v0.21.0, the Change Log used the ISO 8601 date format, which is both logical and pleasant to look at. Beginning in v0.22.0, the Change Log's dates use an arcane format involving the most significant unit of time (the year) first, followed by the least significant unit of time (the day) in the middle. The month was expressed last, as some apparent suffixed afterthought. End user feedback was not requested before this disruptive change was implemented, and the departure itself was not documented in the Change Log. :trollface: 😀
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Yes.

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign kris-nova
You can assign the PR to them by writing /assign @kris-nova in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

LGTM label has been added.  Git tree hash: 121f8ea9a7cc06381dd42c8c1655a3eab8c68f3d

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
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:

OWNERS [leodido]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fntlnz, leodido
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:

OWNERS [fntlnz,leodido]

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


Add GitHub action to trigger Circle CI for external PRs

Non-Codans are nicely submitting fixes to typos and other small bugs (example) but our Circle CI project isn't setup to run for their PRs. We previously discussed enabling this, but worried about malicious actors burning through a ton of resources.
This PR adds a GitHub action that allows us to selectively enable Circle CI on individual PRs. If a project editor applied the soon-to-be-created "buildme" label to a PR, the action will use the Circle CI API to trigger the workflow on that PR's branch.
This action relies on a yet-to-be-created secret on the GitHub projects (CIRCLE_TOKEN), which should be a Circle CI personal API token. The Circle CI jobs will be run as the user who owns that token.
Tested locally using the act tool.

We enabled the Build forked pull requests option in Circle CI instead. Closing this PR.


Fix get_version.sh

What?
Fix the bug that get_version.sh does not work properly
Why?
Bug fix

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: d-hayashi
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:

OWNERS [d-hayashi]

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