bridge: Fix hwaddr set race between us and udev

systemd and udev in their default configuration attempt to set a
persistent MAC address for network interfaces that don't have one
already (systemd-def-link). We set the address only after creating the
interface, so there is a race between us and udev. There are several
outcomes (that actually occur, this race is very much not a theoretical
one):

We set the address before udev gets to the networking rules, so udev
sees /sys/devices/virtual/net/docker0/addr_assign_type = 3
(NET_ADDR_SET). This means there's no need to assign a different
address and everything is fine.

udev reads /sys/devices/virtual/net/docker0/addr_assign_type before
we set the address, gets 1 (NET_ADDR_RANDOM), and proceeds to
generate and set a persistent address.
Old versions of udev (pre-v242, i.e. without udev-patch) would then
fail to generate an address, spit out "Could not generate persistent
MAC address for docker0: No such file or directory" (see udev-issue,
and everything would be probably fine as well.
Current version of udev (with udev-patch) will generate an address
just fine and then race us setting it. As udev does more work than we,
the most probable outcome is that udev will overwrite the address we
set and possibly cause some trouble later on.

On a clean Debian Buster (from Vagrant) VM with systemd/udev 242 from
Debian Experimental, docker network create net1 up to net7 resulted
in 3 bridges having a 02:42: address and 4 bridges having a seemingly
random (actually generated from interface name) address. With systemd
241, the result would be all bridges having a 02:42:, but some "Could
not generate persistent MAC address for" messages in the log.
The fix is to revert the MAC address setting fix from 79b3e7761d249a6f,
as it is no longer necessary with current netlink (netlink-addr-add),
and set the address atomically when creating the bridge interface, not
after that.

Do note that a similar race happens when creating veth devices as well.
I wasn't able to reproduce getting a wrong (non-02:42:) address,
possibly because the address is set by docker later, maybe only after
the interface is moved to another network namespace (but I'm just
guessing here). Still, different timings result in various error
messages being logged ("link_config: could not get ethtool features for
vethd9c938e" and the like) depending on when the interface disappears
from the primary network namespace. I'm not sure how to fix this and I
don't intend to dig deeper into this.

Additionally, the race makes it difficult to match on address in udev rules, causing trouble for NetworkManager: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/15#note_162509

Any updates on when this issue will be merged into master?

Seeing the same issues here:
Dec 12 19:40:19 buildkite-i-01b13667741b4ca36.shared-usw2-ci1 systemd-udevd[3851]: Could not generate persistent MAC address for veth5d07c35: No such file or directory
Dec 12 19:40:19 buildkite-i-01b13667741b4ca36.shared-usw2-ci1 systemd-udevd[3852]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Dec 12 19:40:19 buildkite-i-01b13667741b4ca36.shared-usw2-ci1 systemd-udevd[3852]: Could not generate persistent MAC address for vethc949c65: No such file or directory
Dec 12 19:40:19 buildkite-i-01b13667741b4ca36.shared-usw2-ci1 containerd[1330]: time="2019-12-12T19:40:19.139873930Z" level=info msg="shim containerd-shim started" address="/containerd-shim/moby/e1d6c6e0be01e0063c8ad864fcc6846bb06397bb5b3d0c6188711445c0f0867d/shim.sock" debug=false pid=3860

ping @arkodg PTAL

@euanh @selansen ptal as well 🤗


fix(kcodeblock): dark theme not applying to slotted content of code block

Summary
Fixes the code block’s slotted not content getting the styles intended for it. This was caused in parts by some selectors being wrong (.k-code-block .theme-dark .k-button won’t ever match because .theme-dark is a class on .k-code-block, not one of its descendants) and in parts by some styles being in the scoped style block which won’t apply to slotted content.
PR Checklist

[x] Conventional Commits all commits follow the conventional commit standards outlined in the main README.
[x] Tests coverage: test coverage was added for new features and bug fixes
[x] Docs: includes a technically accurate README

but the “theming” may come into question during the v9 reskin

I think there are probably a couple of things that need tweaking here, just wanted to make sure that the basic styles for slotted content are the same as for component-internal content.


Allow multi-item values

In python argparse, we can implement this: command (--flag_a FIRST_ITEM SECOND_ITEM) (--flag_a FIRST_ITEM SECOND_ITEM) --flag_b -- some free args. (through the nargs setting)
This is different from repeating the same flag n times.
Here a flag can have a list of values rather than a single value AND also be repeatable.

How does it differentiate between --flag_a <flag-value> <flag-value> and --flag_a <flag-value> <positional-arg-value> unambiguously?

It doesn't, unfortunately. If you pass --flag_a VALUE POSITIONAL it will treat POSITIONAL as the second VALUE. It will only detect the error if you pass --flag_a VALUE -- POSITIONAL or --flag_a VALUE --other_flag

Ok, yeah that's why I didn't implement this in the first place. I'd prefer determinism over ambiguity, though I realise it's slightly more annoying.


Improve docs

What kind of change does this PR introduce? (check one with "x")

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[X] Other... Please describe: Improving documentation

What is the current behavior? (You can also link to an open issue here)
Some missing documentation for various parameters, spelling and grammar mistakes
What is the new behavior?
More complete documentation of various features
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:
I was not able to run the build/release because of the error mentioned in the following issue, so the release and dist directory are not updated https://github.com/swimlane/ngx-datatable/issues/1219

Thanks for the contribution!

Dangit, the flavour of Markdown used on the docs pages doesn't support tables... Looks like I'll have to redo that

@amcdnl Opened a new PR here to address the issue that Gitbook needs a blank line before writing a table https://github.com/swimlane/ngx-datatable/pull/1282


Test on Node 0.12

Also iojs, if you don't mind...

@rwjblue we were just talking about that. Reading our minds :)

I'll add badges to the readme as well

Tests on

0.10
0.12
iojs


Define process for adding games over network

Description
Company leadership has identified a requirement to be able to add games to the arcade machines over a local network connection.  This is to facilitate an upcoming Hackathon occurring over the 2024 T2 Intra-trimester break.
The requirements outline a process by which students can upload their games to an Arcade Machine. The process I have outlined offers an SFTP and SCP approach that most students should be able to utilize. The guide has been written with the Thoth-Tech Arcade Machine implementation in mind (in regards to variables and steps).
The guide assumes that students are A) able to cross-compile their games to arm32 binaries or B) provide a arm32 .deb file with which to install the games from.
Type of change

[X] Documentation (New)

How Has This Been Tested?
Tested on my local Raspberry PI and home network. My Raspberry Pi has been configured using the Thoth-Tech  Arcade Machine setup guide and should very closely mimic the actual configuration in use.
Using this guide I am able to copy files to the RPI via SCP and SFTP using the WiFi hotspot running from the RPI.
Testing Checklist:

[X] Tested in latest Chrome
[X] Tested in latest Firefox

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have requested a review from ... on the Pull Request

I'll leave you to make the call on whether we should recommend to use scp or sftp or whether the guide should continue including both.

I  disagree that giving users the option of either command is confusing. I hope that he document is written concisely & clearly enough to convey to users that they have the option of using whichever utility they find easier to use.  If forced my preference would be to retain the SCP section, as this is - in my opinion - the simpler tool to use.

One other thing is the wifi access point. The arcade machine setup guide does say to connect to eduroam, maybe we could access them over eduroam rather then them having their own access point (avoids us having to setup a dhcp server or use static ip addresses). Is there a way for one to get the ip address of the arcade machine through emulation station?

using eduroam is a can of worms I would prefer not to open.  From my perspective it is a network we do not "own", so it is very difficult for me to write comprehensive documentation that will not be invalidated due to infrastructure changes outside of our control. Namely the firewall rules and zoning.  I do not know whether Multicast DNS functions correctly on eduroam, which means we'd either need to have network administrators give us a static IP or fiddle around  getting the IP out of retropie somehow.
In other words, There are too many variables (for my liking). i'd rather opt for a more complicated solution if it means we get ownership over the constituent pieces.

Looks good overall! I agree that needing to setup a static IP isn't ideal, but it's reasonable considering the current setup.
I'm happy to consider this complete, but just had a couple of questions after looking at Adding Games.md. I don't know much about the arcade machine's setup, so perhaps these questions don't make sense haha.
1. Is LaunchScripts where the games themselves should be copied? `Adding Games.md` says that LaunchScript (without the s) should contain shell scripts that launch the games, and the games are stored elsewhere. Perhaps `Adding Games.md` is out of date? Otherwise, how does Emulation Station know which file to execute?

2. After copying the games, will Emulation Station automatically pick them up on restart? Based on `Adding Games.md` they have to be added to `gamelist.xml`, so just copying the folder into LaunchScripts wouldn't be enough. I _think_ this makes sense, otherwise I'm unsure where the game's metadata comes from.

I presume these instructions were tested so I'm wondering if Adding Games.md is out of date or otherwise wrong, just wanted to check!

Sorry I'm pretty sure we already resolved these questions, but mind just writing briefly what the answers were in here? (I would if my memory wasn't so bad ahaha 😅) And yep just need to fix the linter complaints, otherwise looks good!

Howdy, my bad, could have sworn i updated a comment in here to address those questions. Based on my testing emulationstation will pick up on new games once the process has been restarted, but I couldn't find a way to have it dynamically re-scan the games/launcherscripts folders at run time and add new games in. For reference, the test menu directly launches new games that the user builds, rather than launching them via emulationstation.
I've updated the file so that the automated checks should now run.


Update leaderboard

change columns
naming: leaderboard -> entries

For context: removing the hardcoded live_bench/average column will now default to the important_columns returned by the API. This will match our /evaluations page.


trade routes check boxes seem to miss a description

All fall 2016 patch related issues should be reported under issue #111


[TASK]: Extend Prism Stable end date

Extend to 28-Feb-2023

airflow dag extended, prism stable data up to date (as of end of Feb 2023)


feat(nargo): Remove unnecessary Brillig oracles used for testing

Problem
While iterating on the Brillig gen in the SSA refactor, oracles have been included that do not act as finalized builtins but are used entirely for tests. For example the get_number_sequence oracle in this PR (https://github.com/noir-lang/noir/pull/1909) is unnecessary as an oracle.
Happy Case
We should finalize a few of these oracles as builtins in Noir's stdlib, specifically oracle print. Currently get_number_sequence and get_reverse_number_sequence are useful as tests while we continue finalizing the Brillig gen for slices. Once, we reach a point that we are comfortable with slices in Brillig (or have a Brillig foreign call builtin that returns a slice) we should also remove these functions from the tests.  We currently have one brillig_oracle test under test_data_ssa_refactor that checks all oracle operations. Ideally we can have integration tests for specific builtin stdlib oracles like debug_log, get_notes, etc., and get rid of the brillig_oracle test on its own.
Alternatives Considered
No response
Additional Context
Some of the work as part of this issue (https://github.com/noir-lang/noir/issues/1910) and the logging refactor should remove some of these test oracles
Would you like to submit a PR for this Issue?
No
Support Needs
No response

What do you think about enabling some foreign calls only during our testing?

My question on this is aren't we expecting users to define their own oracle calls and expect them to be able to resolve during execution with nargo CLI? This seems to go against having a restrictive enum with a fixed number of oracle types.
If we remove the enum then this issue goes away, alternatively we can have a freeform entry in the enum which will go out to an external solver (which these tests would then be testing a reference impl of)

I do think having some more separation between Oracle (that we're expected to implement ourselves somewhere in the compiler) and Oracle (that is expected to be a result of users adding their own custom handling) would be nice. We should probably give these concepts distinct names as well.


Add live demo url.

After we finish tests, merge this.

Coverage remained the same at 19.178% when pulling 4b05b9a6518e352b566ad838c8cc50ec41111789 on 5.0-live-demo into 9529a75bc9f7c954d1a349ad6db9f1caca714830 on master.


python310Packages.geventhttpclient: 2.0.8 -> 2.0.10

Description of changes
Closes #232662
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Failure on Darwin.

disabled the tests on darwin because lots of [Errno 48] Address already in use: ('<IP_ADDRESS>', 54323)


Network: Various minor changes

Related to https://github.com/lxc/lxd/pull/8205
Includes https://github.com/lxc/lxd/pull/8211

Testsuite passed


Equivalent getter to setState path?

(Possibly related in purpose to #207)
Is there, or if not, could there be a getter function provided by createState that uses the same path syntax as setState?
If I have a situation like this,
<Widget get={state.something?.pathA?.pathB?.etc} set={(value) => setState('something', 'pathA', 'pathB', 'etc', value)}/>

It would be really nice to have a getter function with the same syntax such that I could write something like
<Widget data={['something', 'pathA', 'pathB', 'etc']}/>

and have the Widget component use the same path for it's getter and setter.

Interesting. I would have thought the first example preferable from the perspective that the Widget does not need to know anything state shape and just knows it can read a value and set a value. That being said a getter could be useful but it also doesn't require any library-specific support. I mean there are 3rd part FP libraries like Ramda. Without changing the way the state create tuple works all I'd be providing is something like:
function getState(state, path) {
  const resolved = state;
  for (let i = 0, len = path.length; i < len; i++) {
    resolved = resolved[path[i]];
    if (resolved == null) break;
  }
  return resolved;
}

What might be more interesting is put them together.
const etcLens = createLens('something', 'pathA', 'pathB', 'etc')
const [signal, setSignal] = etcLens(state, setState);

This wouldn't create an actual signal but it would function as one grant the ability to read and set a specific path. Not sure though that it saves much in terms of typing.

Ahh... Still don't know my way around reactivity that well... I'd intended to write a function like getState but I'd assumed that each resolves[path[i]] would've somehow triggered reactivity on each step or something... But, yeah, if I can just do something like that, then that would certainly work.
Also, the widget itself would still just have get and set and the pathing functionality would be provided by a HOC or something like createLens, ideally. I'd just simplified for the example.

I mean it does track along that path but I think that is desireable because if someone swapped out pathA you'd need to update. We have the ability to not track if desired. But need to understand the scenario a bit. I think as default we think tracking is fine. And it's only going to be tracked if executed under a tracking context. Again I think this is desireable but we have options.

So if I have a different widget which is... I don't know what you'd call that, lensed? Down to something like ['something', 'pathA', 'pathC', 'other'], and I set etc, that won't do anything to the other widget because they're both down pathA? I'm possibly confused because I'm coming at this from a heavily ingrained React mindset...

Yeah it's because the downward propagation doesn't always happen by virtue of their being a change. There isn't a top-down execution necessarily on update. It naturally happens because parent conditionals will depend on state higher up the tree but generally speaking each reactive part is independent so in the end, it is fairly flat. So it needs to track its path. But you get partial paths naturally from having the DOM hierarchy (ie propagation through props). In practice it means when it comes to state/props you want to generally access from the top level in your scope to the data you need under a reactive context. It happens naturally in bindings.
If you take a mentality of defer property access to the last moment (which is true for Vue and MobX too) you will be fine. If you are in a "hook" or JSX write the code as normal and it should work out. The reactive system at runtime will prevent duplicate executions.. so even if 4 different reactive atoms are posting their changes at the same time they will only run once.

Ok, so, last question... My plan is to implement essentially a createLens hook of sorts, ideally it should have all the same pathing functionality that setState does, but I know that destructuring can (maybe just under specific circumstances) cause tracking to be lost. So, if I implement a filter just using array.filter, will calling that break reactivity? I would guess if something like resolved = state doesn't break reactivity an array filter wouldn't either, but I figured I'd cover my bases before digging myself too deep a hole.

Your function should return a getter and setter function. So you don't have to worry about reactivity so much. The person calling it will have to decide whether to execute it under a reactive context. It depends completely on where they call your getter. I imagine in most cases that will be in a binding. Basically to the consumer it looks like a signal. They should follow the rules for signals if they want it reactive.

I have a function getState which looks exactly the same as setState, except without the last argument, which returns wherever the path leads. Will this not work?

The property access decides reactivity. So I'm just suggesting something like this:
function createSomething(state, setState, path) {
  return [
    () => {
      const resolved = state;
      for (let i = 0, len = path.length; i < len; i++) {
        resolved = resolved[path[i]];
        if (resolved == null) break;
      }
      return resolved;
    },
    (value) => setState(...path.concat(value));
  ]
}

I'm using a context, basically this:
const Provider = (props) => {
  const [store, set] = createState();
  const get = (path) => {
    let obj = state;
    // lensing stuff.
    return obj;
  }

  return <StoreContext.Provider value={{get, set, store}}>{props.children}</StoreContext.Provider>;
}

Used like:
const {get, set} = useStore();
const someData = get([path]);
return
{someData?.text}
;

If I'm understanding you correctly, this should be good... Provided there's nothing glaringly wrong with this, I guess that answers my question.

I'm suggesting that this is good:
const {get, set} = useStore();
return
{ get([path])?.text}
;

Or this:
const {get, set} = useStore();
const someData = () => get([path]);
return
{someData()?.text}
;

The getter should be called inside the reactive context most likely.

Ahhh, OK. I think I get it now. So, a reactive context is not any component function body, but rather specifically within a memo, effect or JSX?

Yes they are not. I made components untracked as it would be very inefficient if someone ever triggered it as it would re-render everything in the component. Or worse everything in the parent reactive context it is a part of (say it was in a conditional). Component is just a function call. <Component /> = Component(). Nothing extra.. With props there is some dynamic wrapping but even those in themselves don't create any additional signals or effects. Therefore components are lightweight. They have almost no overhead other than breaking apart contiguous template (has an effect on how many DOM nodes are cloned at a time).
Even the creation of
 is outside of a reactive context we just wrap the expression.
It's easier to see with the compiled output. This intro article might be the best way of seeing what is going on more or less: https://dev.to/atfzl/understanding-solid-jsx-584p


Merge thread_safety branch

Will use this branch in the future for further work on threading matters

This branch will be recreated once v1.0 is released, as this branch only focused on OpenTK threading.


template_child: Implement PropertyGet for TemplateChild

This circumvents the drop issue for now by just not allowing property setters at all. Then we can have the field be transparent again. :)
As we don't have public setters on TemplateChild it creates an inconsistency where setting via Property would work, but setting the field directly wouldn't.
I think we should either:

Generally allow setting the value of TemplateChild via a public set method
Not allow it at all (which this opts to do)

This is technically breaking, because it unimplements HasParamSpec, although I can't really see any reason to rely on this in application code. :woman_shrugging:

Your call but I think this makes sense. You could implement PropertySet if you want writable properties at a later time


Send message via Response field with Username -  Failed

From description:
You can send message over state too, just set state "telegram.INSTANCE.communicate.response" with value "@userName Test message".
This functionality stop working.
Adapter version: 1.5.9
I Try to send message to myself via request string "@MyUserName Hello Text"
Option "Store username instead of first name of remembered users" checked
and my user is registered and have visible chatID and username it adapter interface.
This functionality used via Node-Red, and this is the only way to send private message.

telegram.0
2020-06-23 10:30:11.026
error
at processImmediate (internal/timers.js:456:21)

telegram.0
2020-06-23 10:30:11.026
error
at Immediate. (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5388:34)

telegram.0
2020-06-23 10:30:11.026
error
at Adapter.emit (events.js:310:20)

telegram.0
2020-06-23 10:30:11.026
error
at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:241:21)

telegram.0
2020-06-23 10:30:11.026
error
at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:785:26)

telegram.0
2020-06-23 10:30:11.026
error
(23509) TypeError: users.find is not a function

telegram.0
2020-06-23 10:30:11.020
error
(23509) uncaught exception: users.find is not a function

Any chance that this can be resolved with the associated merge request?

Hi, the same for me - please merge in master.
I applied the patch manually on Version 1.5.9. Worked for me.
Node 12 on Raspberry Pi 4.


Change attempt to expose non-public symbol to a warning

Purpose
$title
Fixes #35426
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Fixed via https://github.com/ballerina-platform/ballerina-lang/pull/36797/commits/96b96ac584af086db54e56447dde4940b1f43f12


unable to retrieve the complete list of server APIs

Output of helm version:
version.BuildInfo{Version:"v3.0+unreleased", GitCommit:"180db556aaf45f34516f8ddb9ddac28d71736a3e", GitTreeState:"clean", GoVersion:"go1.13"}
Output of kubectl version:
lient Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T12:36:28Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3+IKS", GitCommit:"66a72e7aa8fd2dbf64af493f50f943d7f7067916", GitTreeState:"clean", BuildDate:"2019-08-23T08:07:38Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
IBM Cloud
Helm chart deployment fails with:
➜  charts git:(h2update2) helm install vdc -f ~/etc/cloud-noes.yaml vdc                                                                                <<<
coalesce.go:155: warning: skipped value for image: Not a table.
Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request

(The first error is in a confluent chart... here I discuss the second issue)
Looking at the error I see a similar problem with
➜  charts git:(h2update2) kubectl api-resources
NAME                              SHORTNAMES      APIGROUP                           NAMESPACED   KIND
bindings                                                                             true         Binding
componentstatuses                 cs                                                 false        ComponentStatus
configmaps                        cm                                                 true         ConfigMap
endpoints                         ep                                                 true         Endpoints
events                            ev                                                 true         Event
limitranges                       limits                                             true         LimitRange
namespaces                        ns                                                 false        Namespace
nodes                             no                                                 false        Node
persistentvolumeclaims            pvc                                                true         PersistentVolumeClaim
persistentvolumes                 pv                                                 false        PersistentVolume
pods                              po                                                 true         Pod
podtemplates                                                                         true         PodTemplate
replicationcontrollers            rc                                                 true         ReplicationController
resourcequotas                    quota                                              true         ResourceQuota
secrets                                                                              true         Secret
serviceaccounts                   sa                                                 true         ServiceAccount
services                          svc                                                true         Service
mutatingwebhookconfigurations                     admissionregistration.k8s.io       false        MutatingWebhookConfiguration
validatingwebhookconfigurations                   admissionregistration.k8s.io       false        ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds        apiextensions.k8s.io               false        CustomResourceDefinition
apiservices                                       apiregistration.k8s.io             false        APIService
controllerrevisions                               apps                               true         ControllerRevision
daemonsets                        ds              apps                               true         DaemonSet
deployments                       deploy          apps                               true         Deployment
replicasets                       rs              apps                               true         ReplicaSet
statefulsets                      sts             apps                               true         StatefulSet
meshpolicies                                      authentication.istio.io            false        MeshPolicy
policies                                          authentication.istio.io            true         Policy
tokenreviews                                      authentication.k8s.io              false        TokenReview
localsubjectaccessreviews                         authorization.k8s.io               true         LocalSubjectAccessReview
selfsubjectaccessreviews                          authorization.k8s.io               false        SelfSubjectAccessReview
selfsubjectrulesreviews                           authorization.k8s.io               false        SelfSubjectRulesReview
subjectaccessreviews                              authorization.k8s.io               false        SubjectAccessReview
horizontalpodautoscalers          hpa             autoscaling                        true         HorizontalPodAutoscaler
metrics                                           autoscaling.internal.knative.dev   true         Metric
podautoscalers                    kpa,pa          autoscaling.internal.knative.dev   true         PodAutoscaler
cronjobs                          cj              batch                              true         CronJob
jobs                                              batch                              true         Job
images                            img             caching.internal.knative.dev       true         Image
certificatesigningrequests        csr             certificates.k8s.io                false        CertificateSigningRequest
certificates                      cert,certs      certmanager.k8s.io                 true         Certificate
challenges                                        certmanager.k8s.io                 true         Challenge
clusterissuers                                    certmanager.k8s.io                 false        ClusterIssuer
issuers                                           certmanager.k8s.io                 true         Issuer
orders                                            certmanager.k8s.io                 true         Order
adapters                                          config.istio.io                    true         adapter
attributemanifests                                config.istio.io                    true         attributemanifest
handlers                                          config.istio.io                    true         handler
httpapispecbindings                               config.istio.io                    true         HTTPAPISpecBinding
httpapispecs                                      config.istio.io                    true         HTTPAPISpec
instances                                         config.istio.io                    true         instance
quotaspecbindings                                 config.istio.io                    true         QuotaSpecBinding
quotaspecs                                        config.istio.io                    true         QuotaSpec
rules                                             config.istio.io                    true         rule
templates                                         config.istio.io                    true         template
leases                                            coordination.k8s.io                true         Lease
brokers                                           eventing.knative.dev               true         Broker
channels                          chan            eventing.knative.dev               true         Channel
clusterchannelprovisioners        ccp             eventing.knative.dev               false        ClusterChannelProvisioner
eventtypes                                        eventing.knative.dev               true         EventType
subscriptions                     sub             eventing.knative.dev               true         Subscription
triggers                                          eventing.knative.dev               true         Trigger
events                            ev              events.k8s.io                      true         Event
daemonsets                        ds              extensions                         true         DaemonSet
deployments                       deploy          extensions                         true         Deployment
ingresses                         ing             extensions                         true         Ingress
networkpolicies                   netpol          extensions                         true         NetworkPolicy
podsecuritypolicies               psp             extensions                         false        PodSecurityPolicy
replicasets                       rs              extensions                         true         ReplicaSet
channels                          ch              messaging.knative.dev              true         Channel
choices                                           messaging.knative.dev              true         Choice
inmemorychannels                  imc             messaging.knative.dev              true         InMemoryChannel
sequences                                         messaging.knative.dev              true         Sequence
nodes                                             metrics.k8s.io                     false        NodeMetrics
pods                                              metrics.k8s.io                     true         PodMetrics
certificates                      kcert           networking.internal.knative.dev    true         Certificate
clusteringresses                                  networking.internal.knative.dev    false        ClusterIngress
ingresses                         ing             networking.internal.knative.dev    true         Ingress
serverlessservices                sks             networking.internal.knative.dev    true         ServerlessService
destinationrules                  dr              networking.istio.io                true         DestinationRule
envoyfilters                                      networking.istio.io                true         EnvoyFilter
gateways                          gw              networking.istio.io                true         Gateway
serviceentries                    se              networking.istio.io                true         ServiceEntry
sidecars                                          networking.istio.io                true         Sidecar
virtualservices                   vs              networking.istio.io                true         VirtualService
ingresses                         ing             networking.k8s.io                  true         Ingress
networkpolicies                   netpol          networking.k8s.io                  true         NetworkPolicy
poddisruptionbudgets              pdb             policy                             true         PodDisruptionBudget
podsecuritypolicies               psp             policy                             false        PodSecurityPolicy
clusterrolebindings                               rbac.authorization.k8s.io          false        ClusterRoleBinding
clusterroles                                      rbac.authorization.k8s.io          false        ClusterRole
rolebindings                                      rbac.authorization.k8s.io          true         RoleBinding
roles                                             rbac.authorization.k8s.io          true         Role
authorizationpolicies                             rbac.istio.io                      true         AuthorizationPolicy
clusterrbacconfigs                                rbac.istio.io                      false        ClusterRbacConfig
rbacconfigs                                       rbac.istio.io                      true         RbacConfig
servicerolebindings                               rbac.istio.io                      true         ServiceRoleBinding
serviceroles                                      rbac.istio.io                      true         ServiceRole
priorityclasses                   pc              scheduling.k8s.io                  false        PriorityClass
configurations                    config,cfg      serving.knative.dev                true         Configuration
revisions                         rev             serving.knative.dev                true         Revision
routes                            rt              serving.knative.dev                true         Route
services                          kservice,ksvc   serving.knative.dev                true         Service
apiserversources                                  sources.eventing.knative.dev       true         ApiServerSource
awssqssources                                     sources.eventing.knative.dev       true         AwsSqsSource
containersources                                  sources.eventing.knative.dev       true         ContainerSource
cronjobsources                                    sources.eventing.knative.dev       true         CronJobSource
githubsources                                     sources.eventing.knative.dev       true         GitHubSource
kafkasources                                      sources.eventing.knative.dev       true         KafkaSource
csidrivers                                        storage.k8s.io                     false        CSIDriver
csinodes                                          storage.k8s.io                     false        CSINode
storageclasses                    sc              storage.k8s.io                     false        StorageClass
volumeattachments                                 storage.k8s.io                     false        VolumeAttachment
clustertasks                                      tekton.dev                         false        ClusterTask
pipelineresources                                 tekton.dev                         true         PipelineResource
pipelineruns                      pr,prs          tekton.dev                         true         PipelineRun
pipelines                                         tekton.dev                         true         Pipeline
taskruns                          tr,trs          tekton.dev                         true         TaskRun
tasks                                             tekton.dev                         true         Task
error: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request
➜  charts git:(h2update2)

Then looking at 'action.go' in the source I can see that if this api call fails, we exit getCapabilities(). I understand why ... but is this failure too 'hard' - in the case above the error was a minor service?
This seems to have come up recently due to some changes on the k8s service with metrics.
I will persue that seperately... but was after thoughts on how helm handles this situation
Also a heads up helm3 may be broken on IKS - but I'm not knowledgeable enough to dig much further?

I have the same issue on AKS, though the error message is

Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

my config :

kubectl version :

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T09:23:26Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:16Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

helm version: alpine/helm:3.0.0-beta.2 (docker)

I believe in my case this issue started recently... it seems to be in relation to having knative installed in my case (On IBM Cloud IKS this is a managed option). I've uninstalled knative and am ok for now, but there could be an interop issue here
@kalioz out of interest are you using knative on AWS? It looks not actually since I can't see the tekton objects

I have just seen this issue myself.  In my case it was cert-manager that triggered the problem.  Still working on how to get it back to how it was.

I am using it on k8 cluster version 1.13.9, same error is coming for deploying any stable chart.
helm version
version.BuildInfo{Version:"v3.0.0-beta.3", GitCommit:"5cb923eecbe80d1ad76399aee234717c11931d9a", GitTreeState:"clean", GoVersion:"go1.12.9"}
helm.go:81: [debug] unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request.

After resolving the issue from the metrics pod (can't remember how I solved it, i think it might have to do with hostNetwork or simply restarting the associated pod) helm3 function as expected.
So it might be a 'feature' as it forces to maintain the cluster in good health, but it'll require someone to manually go in the cluster each time an api break (and thus might prevent using helm3 to deploy pods able to be listed on this).

It's really, really annoying as someone starting out with Kubernetes.  I'm hand rolling a solution for certificates using acme, since I can't guarantee that cert manager won't still be broken even after configuring it.
The really annoying part is I can't just use helm to uninstall cert manager and get back to where I was!  Anything which allows a strongly recommended service to break it, and won't undo the change is broken.

For anyone who hits this, it's caused by api-services that no longer have backends running...
In my case it was KEDA, but there are a number of different services that install aggregated API servers.
To fix it:
kubectl get apiservice

Look for ones the AVAILABLE is False
If you don't need those APIs any more, delete them:
kubectl delete apiservce <service-name>

Then Helm should work properly. I think improving the Helm error message for this case may be worthwhile...

Thanks for the explanation - is there a way Helm could code around this too?

We think so, though we're still investigating. My first look suggests that this is just related to our usage of the Discovery API, which is used for the Capabilities object in template rendering. We might be able to trap this particular error and warn the user instead of failing.

Same with 2.15.0 now:
Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

This is pretty annoying. Warning instead of failing would be much better indeed.
Any updates on this so far?

@sjentzsch I am also seeing the same using Helm 2.15.0 and k8s 1.16.0.

If this does also affect 2.x then everyone using "cert-manager" (possibly only pre-configuration) is going to have a bad time.

If this does also affect 2.x then everyone using "cert-manager" (possibly only pre-configuration) is going to have a bad time.

the solution described by @brendandburns worked for cert-manger

Release "cert-manager" does not exist. Installing it now.
Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: admission.certmanager.k8s.io/v1beta1: the server is currently unable to handle the request

kubectl get apiservice | grep certmanager
v1beta1.admission.certmanager.k8s.io   service/cert-manager-webhook   False (ServiceNotFound)   111d

kubectl delete apiservice v1beta1.admission.certmanager.k8s.io

and helm upgrade works again.

We have similar issue with 2.15.1 on Kubernetes 1.15.5, but NOT with helm 2.14.3.
The issue is floating: some charts are installed OK, but then they begin to fail.
Our message is:
Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request: exit status 1

kubectl get apiservice lists metrics.k8s.io/v1beta1 as available.  May be we have transient issue with this service, but helm 2.14.3 on mostly identical cluster works reliably.

We hit this issue when trying to upgrade to Helm 2.15.2 on the charts CI cluster. So, it's not only a Helm 3 issue. Deleting the missing API service fixed it. I wonder if Helm could be more graceful here.

Hit a similar problem installing the stable/metrics-server chart on a kubeadm installed cluster.
When you attempt to uninstall the chart, the uninstall fails with an api-server error (because metrics server is fubar), and that leaves a load of dangling resources lying around that you have to clean up by hand - since helm has removed the release from its database anyway.

Started hitting this recently in freshly created GKE clusters, using 2.15.1 (might have upgraded recently via Snap). Also reported as https://github.com/kubernetes/kubernetes/issues/72051#issuecomment-521157642. Seem to be able to work around by preceding every helm install command with:
kubectl --namespace=kube-system wait --for=condition=Available --timeout=5m apiservices/v1beta1.metrics.k8s.io

@jglick In your case is it happening only when the cluster is first created?
The problem is deep down in the Kubernetes Go discovery client. I am experimenting with just printing a warning. However, that could have negative consequences for charts that heavily rely on the Capabilities object.

In your case is it happening only when the cluster is first created?

Yes. I have a script which creates a cluster, installs Tiller, and creates Helm releases. So it seems like a race condition in cluster initialization.

@jglick the implementation I did yesterday will very likely avoid the problem for you unless you are writing charts that directly reference the offending API group.

@technosophos thanks for that link. I do think it will improve the resilience of helm.

Do we have a fix for 2.15/2.16 ?

Seeing this in 2.16 as well. GKE Master version	1.14.8-gke.12.
Error: UPGRADE FAILED: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
UPGRADE FAILED

no fix has been made available for 2.16. If you feel like porting the fix over from Helm 3, that would be a welcome change.

For GKE users, Google is having issues with  heapster and metric-server. This is what is causing the heapster failures and explains why it works sometimes and not others.
Event Start: 10/30/19
Affected Products:
Cloud Services
Description:
The issue with Google Kubernetes Engine experiencing an elevated rate of errors for heapster autoscaling is in the process of being mitigated and our Engineering Team is working to deploy new versions with a fix.
Once the fixed versions become available affected customers will be able to upgrade their clusters to receive the fix.
We will provide an update on the status of the fix by Wednesday, 2019-11-13 16:30 US/Pacific with current details. In the interim, if you have questions or are impacted, please open a case with the Support Team and we will work with you until this issue is resolved.
Steps to Reproduce:
Heapster deployment may be crashing due to inaccurate resource values and then fail to resize due to an invalid name reference in the heapster-nanny container. The logs for an affected clusters will show errors like the below under the heapster-nanny container logs:
ERROR: logging before flag.Parse: E1030 14:50:59.147245 1 nanny_lib.go:110] deployments.extensions "heapster-v1.7.X" not found
Workaround:
Manually add requests/limits to the heapster container under the heapster deployment::
kubectl -n kube-system edit deployment heapster
These values can be calculated as:
* cpu: 80m + 0.5m * number of nodes
* memory: 140Mi + 4Mi * number of nodes

I just use helm 3.0.0 stable and ran in the issue:
Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: admission.certmanager.k8s.io/v1beta1: the server is currently unable to handle the request: exit status 1

The apiservice seemed to be healthy b/c the Availabiliy was showing "true" in kubectl get apiservices | grep certmanager.
After "restarting" with  kubectl delete apiservice v1beta1.admission.certmanager.k8s.io the problem went away.

the fix was merged into the master branch, but it wasn't merged into 3.0.0. The patch will be in 3.1.

Look for ones the AVAILABLE is False
If you don't need those APIs any more, delete them:
kubectl delete apiservce

$ kubectl get apiservice
NAME                                   SERVICE              AVAILABLE                 AGE
v1.                                     Probably should be
kubectl delete apiservice (missing i in service)

We are also hit by inconsistent behaviour on delete. For example

We helm install purposely misconfigured metrics-server
1a. resources get created but metrics-server pod ends up in crashloopbackoff (expected)
We helm delete metrics-server
2a. We get back "Error: uninstallation completed with 1 error(s): could not get apiVersions from Kubernetes: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request"
2b. Helm release secret was removed
2c. All resources in the chart are still present in the cluster
2d. Manual cleanup is necessary

The only part of "uninstallation" that was completed was removing the release secret.

The PR that fixed this was here: https://github.com/helm/helm/pull/6908 See the additional discussion around whether there still remains one additional case.

@here can we backport this fix to v2?

If anyone is available to test the Helm 2 fix, it's here: #7196

@bacongobbler as per your comment here https://github.com/helm/helm/issues/6361#issuecomment-554480815 do you know when v3.1 will be available? I just installed 3.0.1 and am still hitting the issue - I was surprised this fix didn't make it into v3.0.1 as it seems to be a pretty pervasive issue. Any chance of it making it into a v3.0.x release if that will be before v3.1?

Same question as @mcginne . I've been using the master branch for a bit now waiting for this fix to get into a release. But I'd like to get back to being on a release. This bug makes writing automation with helm pretty difficult (unless you just want to try your luck and put sleeps and waiters everywhere).
Even just like a 3.1alpha or something would be nice :)

Closing this issue, as it is resolved on master

On more case:
Error: failed to fetch api groups from kubernetes: unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1: the server is currently unable to handle the request

It was related to https://github.com/linkerd/linkerd2/issues/3497, when the Linkerd service had some internal problem and couldn't respond back to the API service requests.

@kivagant-ba would you mind opening a new issue for that one? It's a slightly different case, and we'll have to decide what the "correct" behavior on Helm's side should be. I think the current fix will still consider the above a fatal error.

For anyone who hits this, it's caused by api-services that no longer have backends running...
In my case it was KEDA, but there are a number of different services that install aggregated API servers.
To fix it:
kubectl get apiservice

Look for ones the AVAILABLE is False
If you don't need those APIs any more, delete them:
kubectl delete apiservice <service-name>

Then Helm should work properly. I think improving the Helm error message for this case may be worthwhile...

Just a small correction in spelling of the "service". corrected it.

would you mind opening a new issue for that one?

It is not an issue for people who are using a newer version of Linkerd. I left my comment here for those who will search the error phrase because it looks similar but the root cause is different.

Oh! Okay. Thank you!

kubectl get apiservice
If one of the service "AVAILABLE=false", you can try to delete the related pods to restart them.
It solved my problem with the kube-system/metrics service.

Hi @technosophos. May be I'm missed something, but I don't see this PR https://github.com/helm/helm/pull/6908/files being ported to 2.16.3, although it happens with helm 2 as well. Are you planning port this workaround in helm 2 as well?

It as merged into dev-v2 a few months ago. You can build from that branch and test it out if you want.

Would be great to see this incorporated into Helm 2 and the Terraform provider. I'm able to repo this error every time a cluster is created.

Have you tested the dev-v2 branch? We currently don't have any confirmation (other than our own tests) that the solution there works, though it is in essence the same solution.

I have not, I can give it a try this week. Since I am using this with Terraform, can I build/run the dev-v2 branch and set the repository variable of the helm_release resource to "local" to simulate?

@bacongobbler We faced the same issue with prometheus-adapter which exposed custom apiservice and if I failed release with custom apiservice and kubectl get apiservice any of this list would be AVAILABLE=false helm no longer able to make any new release even if it not related to custom apiservice:
err="Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request"

Helm 2 with the Terraform provider is broken because of this issue at the moment and. I hope you can also provide a fix for it, it looks like this is a common use-case.

Can confirm I'm having this issue as well. Hoping for a fix.

Solution:
The steps I followed are:

kubectl get apiservices : If metric-server service is down with the error CrashLoopBackOff try to follow the step 2 otherwise just try to restart the metric-server service using kubectl delete apiservice/"service_name". For me it was v1beta1.metrics.k8s.io .

 kubectl get pods -n kube-system and found out that pods like metrics-server, kubernetes-dashboard are down because of the main coreDNS pod was down.

For me it was:
NAME                          READY   STATUS             RESTARTS   AGE
pod/coredns-85577b65b-zj2x2   0/1     CrashLoopBackOff   7          13m

Use kubectl describe pod/"pod_name" to check the error in coreDNS pod and if it is down because of /etc/coredns/Corefile:10 - Error during parsing: Unknown directive proxy, then we need to use forward instead of proxy in the yaml file where coreDNS config is there. Because CoreDNS version 1.5x used by the image does not support the proxy keyword anymore.

https://stackoverflow.com/questions/62442679/could-not-get-apiversions-from-kubernetes-unable-to-retrieve-the-complete-list

@brendandburns Glad to have found your answer after a few hours of googling! :-D Too bad this is not StackOverflow, you'd deserve quite a few upvotes ;-)

For anyone who hits this, it's caused by api-services that no longer have backends running...
In my case it was KEDA, but there are a number of different services that install aggregated API servers.
To fix it:
kubectl get apiservice

Look for ones the AVAILABLE is False
If you don't need those APIs any more, delete them:
kubectl delete apiservce <service-name>

Then Helm should work properly. I think improving the Helm error message for this case may be worthwhile...

This helped a lot.
In my case there was restarting pod causing the issue. Solved the issue with pod and everything beck operational.
Thanks

For anyone who hits this, it's caused by api-services that no longer have backends running...
In my case it was KEDA, but there are a number of different services that install aggregated API servers.
To fix it:
kubectl get apiservice

Look for ones the AVAILABLE is False
If you don't need those APIs any more, delete them:
kubectl delete apiservce <service-name>

Then Helm should work properly. I think improving the Helm error message for this case may be worthwhile...

There is a typo: apiservce.

For future readers: I got this error because I was with my VPN turned off


Bash script for Onboarding robot

Is your feature request related to a problem? Please describe.
Help the user to automatically load into the middleware database the robot ROS information.
Describe the solution you'd like
The bash script will be run in the robot Linux system and partially complete the onboarding file for the robot. The information completed will be ROS info and basic OS and system architecture.
Describe alternatives you've considered
N/A
Additional context
N/A

Python version:
https://github.com/5G-ERA/middleware/blob/main/util/onboarding_robot.py

done


Reassociate operations

Only possible for associative operations
Reduce  Lit + (Lit + expr) for all 4 possible permutations
May need to take patterns as ref

https://stackoverflow.com/questions/29885867/cannot-bind-by-move-into-a-pattern-guard


Add new WebHost static API to Microsoft.AspNetCore meta-package with opinionated defaults

Add new static API WebHost to support creating opinionated instances of IWebHost and IWebHostBuilder which default the following over and above the usual defaults:

Server to Kestrel
Content root to working directory
Other ideas  for defaults (in ascending order of craziness):

Log to console
Add cmd line and environment variable configuration providers, maybe even JSON for appsettings.json and appsettings.[environment].json too
Add the developer exception page middleware via an IStartupFilter by default when IHostingEnvironment.IsDevelopment()

There would be methods that allow building and starting an IWebHost with one call, and another that allows creating an IWebHostBuilder for more advanced scenarios, e.g. setting up configuration, logging, etc.
namespace Microsoft.AspNetCore
{
    public static class WebHost
    {
        public static IWebHost Start(RequestDelegate app) { }

        public static IWebHost Start(string url, RequestDelegate app) { }

        public static IWebHost StartWith(Action<IApplicationBuilder> app) { }

        public static IWebHost StartWith(string url, Action<IApplicationBuilder> app) { }

        public static IWebHostBuilder CreateBuilder() { }
    }
}

They would be used like so:
namespace MyApp
{
    public static class Program
    {
        public static void Main(string[] args)
        {
            // Hello, World!
            var host1 = WebHost.Start(context => context.Response.WriteAsync("Hello, World!"));
            host1.WaitForShutdown();

            // Hello, World! + middleware
            var host2 = WebHost.StartWith(app =>
            {
                var env = app.ApplicationServices.GetService<IHostingEnvironment>();
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage()
                }

                app.Run(context => context.Response.WriteAsync("Hello, World!"))
            );
            host2.WaitForShutdown();

            // Getting a builder to do something more complex, the templates would do this
            var host3 = WebHost.CreateBuilder()
                .UseLogging(logging => logging
                    .AddConsole()
                    .AddDebug()
                )
                .UseStartup<Startup>()
                .Build();
            host3.Run();
        }
   }
}

Some slightly more audacious ideas
Add overloads that allow easy creation of an app that uses a single routed middleware:
public static IWebHost Start(Action<IRouteBuilder> routes) { }
public static IWebHost Start(string url, Action<IRouteBuilder> routes) { }

Used like so:
namespace MyApp
{
    public static class Program
    {
        public static void Main(string[] args)
        {
            // Routed middleware
            var host = WebHost.Start(router => router
                .MapGet("/hello/{name}", (req, res, data) => res.WriteAsync($"Hello, {data["name"]}))
                .MapGet("/goodbye/{name}", (req, res, data) => res.WriteAsync($"Goodbye, {data["name"]}))
                .MapGet("/{greeting}/{name}", (req, res, data) => res.WriteAsync($"{greeting}, {data["name"]}))
                .MapGet("/", (req, res, data) => res.WriteAsync($"Hello, World!"))
           );
            host.WaitForShutdown();
        }
   }
}

@davidfowl @glennc
aspnet/Hosting#991

Adding .UseHandler() following the existing extension methods  might be helpful as well skipping .Configure():
IWebHost webHost = new WebHostBuilder().UseKestrel().UseUrls(url)   .UseHandler(context => context.Response.WriteAsync("Hello, World!"))**
`  .Build()

@lutzroeder we don't have a concept of "handlers" in ASP.NET Core (although I course understand the intent) but the bigger issue is a method like that won't compose properly with the rest of the methods on IWebHostBuilder, i.e. you can't call it more than once, you can't call it along with .Configure(), etc. Once you go to the builder API, you have to configure the pipeline the normal way.

@JunTaoLuo is this done now?

@JunTaoLuo @davidfowl  maybe we should add the debug logger by default too. Originally I think we planned to just merge it into the core logging package and always be on but it could just be enabled by this now. Thoughts?

I still need to add tests. I only merged the changes to unblock @cesarbs. I think we also found bugs that need to be fixed.

@JunTaoLuo bugs? 🔥

Before closing the issue, I will also need to resolve the correct ApplicationName and pass it along to the builder when we wrap the RequestDelegate at https://github.com/aspnet/MetaPackages/blob/dev/src/Microsoft.AspNetCore/WebHost.cs#L38. Otherwise the correct ApplicationName gets overwritten to Microsoft.AspNetCore.

@JunTaoLuo please ensure the DebugLogger is added by WebHost.CreateDefaultBuilder too. This needs to happen so that templates don't need to add it and the debug logging continues to work.

Functional tests added, and follow up issues have been filed.


[Bug]: apps generated by cli should not be set private

Which Remix packages are impacted?

[ ] remix (Remix core)
[X] create-remix
[ ] @remix-run/architect
[ ] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[ ] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
latest
What version of Node are you using? Minimum supported version is 14.
latest
Steps to Reproduce
N/A
Expected Behavior
N/A
Actual Behavior
I don't know why all apps generated by remix cli are set to private. This field should be removed, it doesn't make sense

The private setting prevents the package from accidentally ending up published to npm. It is not a bug!


Change the licensing details, please. from Business Essential to Business Basics

User has an Office 365 E1, E3, E5, A1, A3, A5, M365 Business, Business Premium or Business Essentials
to User has an Office 365 E1, E3, E5, A1, A3, A5, M365 Business, Business Premium or Business Basics

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

ID: 976b8a9b-5a3e-1f3b-b848-d1dfbfd3389d
Version Independent ID: 2b13a471-3baf-0086-439a-f94abb162fd6
Content: Teams cloud meeting recording - Microsoft Teams
Content Source: Teams/cloud-recording.md
Service: msteams
GitHub Login: @tonysmit
Microsoft Alias: tonysmit

@EvgenyArtemyev Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@EvgenyArtemyev thank you for reaching out and helping improve MS Docs.  It looks like this has been updated in the interim. Please check and confirm from your side.

@EvgenyArtemyev  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Ambient Capabilities

This is supported since Linux 4.3.
This is added in runtime-tools https://github.com/opencontainers/runtime-tools/blob/master/generate/generate.go#L1024.
This is not used in docker and containerd. https://github.com/containerd/containerd/blob/73ac66eecfb3e2c8635cab04d94adadbd55b1830/spec_unix.go#L85
Should we set it?

No, there is more work to be done with ambient caps in order to enable it in a secure way.
ref: https://github.com/moby/moby/issues/27590

Close this in favor of https://github.com/kubernetes/community/pull/2285.


relay/graphql-naming: Relay no longer enforces fragment name with *_

See: https://github.com/facebook/relay/commit/ff1c10bc6595f3715f29660b46f779e000be9c70
There is still some enforcement. For example, the module name still has to be included. But the property name is no longer required in the fragment name which makes this line a bit obsolete: https://github.com/relayjs/eslint-plugin-relay/blob/130005b7c1d58fdc2e21da61246735cadfb43999/src/rule-graphql-naming.js#L74
Thanks for having a look! 😊

I'd like to enforce this using a eslint rule, as simplify a lot


Fix 5% flux mismatch in calibrators due to bad sampling

Hello @matteobachetti! Thanks for submitting the PR.

In the file srttools/core/calibration.py, following are the PEP8 issues :

Line 330:5: E303 too many blank lines (2)
Line 618:9: E303 too many blank lines (2)


update readme.md with video link

Add Let's build the GPT Tokenizer video link to readme

oh, yeah good idea :)


I hope to add this prop,thx~

askToFormat: boolean When true (default), the user will be asked whether he/she wants to format the JSON document when a compact document is loaded or pasted in 'text' mode. Only applicable to 'text' mode.

Hi @GenerQAQ ! Thanks for the suggested improvement and adding the description to the documentation. I have confirmed your pull request. Today I will make a release for NPM


attach_to not functioning

Server Software: paper233
Dev build 4440
Pretty straight forward to reproduce:
/ex spawn spider
/ex <player.location.find.entities[spider].within[3].get[1]> attach_to:<player>
When tested with another player, we had odd results.
player1 (<player>): saw no difference, and the spider behaved as any normal spider would.
player2 (just an observer): saw the spider stuck in place, just spinning around (rotation for player2 matches the spider's rotation for player1)

An entity cannot be attached to a player in that player's own view.
Similar, a player cannot be attached to an entity in that player's own view.
Attach_To just does not work that way, due to... Minecraft just not working that way (fully clientside player movement). (Though to be fair, it would still be impossible to be perfect in almost any game, due to inherent network latency).
As for the observer not seeing the attachment:
What is the specific limitations of this issue? Is it specific to when the attached entity is a spider? Or do other entities also bug? Is it specific to when the entity is attached to a player, or do other attach targets bug?

Closing due to lack of reply, will reopen when requested answers are given.


exlucde ap-norhteast-1a as nats unavaiable zone

Nat Gateway is not available in ap-northeast-1a, so I exclude the zone for the list.
the data source of availability_zones has no fit filter to exclude Nat gateway unavailable zone, so I specify it by zone_id.
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones
Without this commit,  it runs the below error on ap-northeast-1.
module.secure-for-cloud_example_single-account.module.resource_group.aws_resourcegroups_group.sysdig_secure_for_cloud: Creation complete after 1s [id=sfc]               ╷
│ Error: Error creating NAT Gateway: NotAvailableInZone: Nat Gateway is not available in this availability zone
│       status code: 400, request id: 83a3257b-edf2-413e-941a-60a3f3546dea
│
│   with module.secure-for-cloud_example_single-account.module.ecs_fargate_cluster.module.vpc.aws_nat_gateway.this[0],
│   on .terraform/modules/secure-for-cloud_example_single-account.ecs_fargate_cluster.vpc/main.tf line 1096, in resource "aws_nat_gateway" "this":
│ 1096: resource "aws_nat_gateway" "this" {

what a tricky thing indeed :/
checked TF resources and although there is an state:available property in the aws_availability_zones datasource guess its something generic not taking into consideration nats support.
mainly to avoid maintaining a list of explicit zones, and as it may also reduce some costs, letme give it a try to the "Single NAT Gateway" scenario and see if it may serve as a workaround
https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/latest#nat-gateway-scenarios

it looks so better than listed up by ourselves. let me check how to pick nats available.

@wideawakening
I think the single NATs gateways is not good for az redundant.
I checked the VPC terraform module code. It accepts the AZ via a variable.
the module https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/master/variables.tf#L265-L269
I think we accept the az like the VPC module.

I think we accept the az like the VPC module.

that's another valid solution indeed, can expose azs as var on our internal module/infrastructure/ecs-fargate-cluster and let user provide it. as a fallback we will fetch all zones, as current setup. would that make sense for you?

I think the single NATs gateways is not good for az redundant.

regarding the VPC configuration, nailing it down to customer config is gonna be a tricky thing to shape-up, let alone  a production network configuration.
currently it's just a quick setup to get this up running for a trial test, but don't think it suits a production environment setup.
the output of the ecs-fargate-cluster is required for the cloud-connector ECS task definition as per

vpc_id for the security group ingress/egress configuration (which currently allows all connections)
service network_configuration

as for your use case, would it make sense to let user input those two variables as a pre-existing VPC?
we could make the usage of the ecs-fargate-cluster optional and let user provide those two variables given a create_vpc:false configuration.
let us know your thoughts about those two options

Yes, that makes sense.
I'd like erraform-aws-secure-for-cloud/examples/* to create the VPC and subnets but now it fails on ap-northeast-1 due to no NATS-gateway availability on ap-norhteast-1a.
The terraform resource of az has no options and filters to exlucde no NATS available zones. So, I'd like to specify AZs they use. It's not nice for the first use, but it provides a workaround and we can document it.
As the options,
I'd like to omit to prepare a VPC for sfc when connecting Sysdig and AWS and want this module cover that because it could be isolated from another AWS resources on the same account.
I think it should be production ready as redundant and security by default and would have some options for reducing costs and customization.

closing this PR in favor of #53  to handle testing gh actions (secrets are not shared when merging forks)

tried the problematic region but was not able to get get the problematic zone_id "apne1-az3" :/

provider "aws" {
  region = "ap-northeast-1"
}

resulted in the datasource
$ terraform state show data.aws_availability_zones.zones

# data.aws_availability_zones.zones:
data "aws_availability_zones" "zones" {
    group_names = [
        "ap-northeast-1",
    ]
    id          = "ap-northeast-1"
    names       = [
        "ap-northeast-1a",
        "ap-northeast-1c",
        "ap-northeast-1d",
    ]
    zone_ids    = [
        "apne1-az4",
        "apne1-az1",
        "apne1-az2",
    ]
}

anyhow, exposed the ecs vpc region azs as variable (with the default as fallback) and exposed it on the examples too.
you should be able to take advantage of the ecs_vpc_region_azs

with the current variable setup I did enforce it

export TF_VAR_vpc_region_azs=[\"apne1-az1\",\"apne1-az3\"]

and got the desired error
│ Error: error creating subnet: InvalidParameterValue: Value (apne1-az3) for parameter availabilityZoneId is invalid. Subnets can currently only be created in the following availability zones: apne1-az1, apne1-az2, apne1-az4.
│ 	status code: 400, request id: 6e32d757-2e61-4220-8106-22ccf814e1fe
│
│   with module.vpc.aws_subnet.public[1],
│   on .terraform/modules/vpc/main.tf line 376, in resource "aws_subnet" "public":
│  376: resource "aws_subnet" "public" {

left nat gateway scenario untouched to current One NAT Gateway per subnet (default behavior).

added troubleshooting for this too on the main README

hope that serves @ukitazume

Hi @wideawakening ,
sorry for checking your improvement.
I tried to use v0.5.0 and it works with the new variable ecs_vpc_region_azs. thanks a lot.


Is there a way to invoke the dialog without using the UI?

Is your feature request related to a problem? Please describe.
I am building my own UI style, but still want to use the adapter's modal dialog for selecting a wallet.
Describe the solution you'd like
Provide API for invoking the wallet selector via JS/TS.
Describe alternatives you've considered
I can use your UI but it doesn't fit into my website's style.

Sorry, this request doesn't make sense to me. How do you envision being able to open the dialog, which is itself a UI component, without using the dialog's user interface, at a minimum?
There's a lot of custom logic in how the wallet ready states are used to intelligently filter the wallets shown to the user.
What I would recommend is using the react-ui package and overriding the styles (wallet-adapter- namespaced classnames are provided for most of the components in it so this is easy to do.
If you really need to customize it beyond what you can do with CSS, just fork that package.

Thanks, let me see if I can clarify. I do want to use the modal selector, but invoke it with my own button if that makes sense.

Oh, that's easy then. Just do what the button does and call setVisible(true) from const { setModal } = useWalletModal()

But by the same token, can't you just the connect buttons provided and then style them?

Worry is that customization means using class specificity to override some properties, but not all; it's not a future proof solution — future styles added to wallet-adapter-button will need to be manually overridden 😢. Similar discussion here: https://github.com/solana-labs/wallet-adapter/issues/155
Interestingly, don't think there is a way I can say, "clear all styles from wallet-adapter-button class, and add my own instead" — if you have a clever solution, would be curious to hear 🙂
I think the best solution here is to come up with my own Button component and use the APIs directly.

You know you can just not import the styles?

Don't need to clear the styles if you never use them. 😉

I just need to customize the button's style, not the entire modal flow, if that makes sense. For example, if I don't import @solana/wallet-adapter-react-ui/styles.css, need will need to style everything; in my case, just want to make the button layer different, but keep the rest the same.
Now would be cool to say, import @solana/wallet-adapter-react-ui/styles.css except wallet-adapter-button 😛

I'm not sure I understand the issue. Overriding styles with higher specificity is literally in the name for CSS. If you have an alternative proposal, please open a PR!

Might not be explaining correctly. Here is a specific example:
// @solana/wallet-adapter-react-ui/styles.css
.wallet-adapter-button {
   color: white;
}

// my copy with additional specificity
.wallet-adapter-button {
   color: white !important;
}

The problem I was trying to point out is that this solution is fragile and could break in the future in case styles.css adds additional attributes .wallet-adapter-button that I am not overriding in my own copy i.e.
// @solana/wallet-adapter-react-ui/styles.css  (V2)
.wallet-adapter-button {
   color: white;
   background-color: #021289;
}

Here background-color will get shipped as a break in my app, without us knowing other than through visual inspection.
Not a big deal, I think just writing my own button and using the API directly was the right solution to avoid this; thanks for helping out! 🙂


An icon/image to identify multi communication channels

Is your feature request related to a problem? Please describe
Isn't related to any problem
Describe the solution you'd like
I have my own service that handles the chat backend and I thought what if I want to have more channels to chat with? Like Telegram, WhatsApp and Messenger? And would be a Room prop like the avatar
Describe alternatives you've considered
Something like this,

(image shameless copied from Chatwoot)
Additional context
I already did this feature on my own, I'm just opening this Issue to know if @antoine92190 thinks would be fine to do a PR.

In my opinion, it would be better to make the whole avatar a scoped slot, this way you get more control over the functionality of the avatar.

I agree with avatar slot. Duplicate of https://github.com/antoine92190/vue-advanced-chat/issues/194


make simps a little less slow

coresimp is almost instant but the simplified core is less good, probably needs a bit of fiddles with beta
-                                                  ((Left ExceptTombstone, (Right 0, ()))@{((Sum Error Int), ((Sum Error Int), Unit))})
+                                                  (pair#@{(Sum Error Int) ((Sum Error Int), Unit)} (Left ExceptTombstone@{(Sum Error Int)})
+                                                   (
+                                                   let s$conv$22 = right#@{Error Int} (0@{Int})
+                                                    in pair#@{(Sum Error Int) Unit} s$conv$22 (()@{Unit})))

that's odd...

:+1:


Question: arrow/parquet out

Similar to the parquet reader, we would like fast batch output in parquet or arrow, ideally via python API -- any pointers here?
Thanks!

Hi @lmeyerov , thanks for your interest!
For batch output the query result via Python API, currently we can support exporting to an in-memory arrow table in a zero-copy way, and you can process and convert further based on that.
Please refer to our documentation and see get_as_arrow() here: https://kuzudb.com/docs/client-apis/python-api/query-result.html#query_result.QueryResult.get_as_arrow.
For directly exporting to parquet files, we do have that in our roadmap, but we're not there yet.
Please let us know if this answers your question, and also if you encounter any problems or have further ideas/suggestions on this.
Thanks!

Perfect, missed that, arrow out is great!

Meant to say -- yes, thanks!


Some UTs are missing

Describe the bug
Union Territories like Chandigarh, Lakshwadeep, Dadra and Nagar Haveli and Daman and Diu are missing in the list.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://www.covid19india.org'
See the above mentioned UTs are not in the list

Expected behavior
It has to show all the states and UTs of India
Desktop (please complete the following information):

OS: All OS
Browser Chrome, Safari, IE, Firefox
Version All Versions

Smartphone (please complete the following information):

Device: All
OS: All
Browser All
Version All

@vairavlaksh : Chandigarh is showing up in list and rest are not showing because api is not having data.
Not a front end issue to fix...

They are missing in the list because they don't have any confirmed cases yet.
I confirmed that they are part of the larger list in the Sheet. Closing.


Rewrite in Ruby

A lot of these shell scripts would probably make more sense as Ruby scripts. Mostly, there is just a lot of JSON parsing and string interpolation, which would be much more nicely done in Ruby than Bash. I'm not really sure why I wrote so much Bash to begin with, other than momentum I suppose.

Good candidates for a Ruby rewrite:

report
github/token
github/checks/start
github/checks/complete


fix(version): Revert karma-typescript to 3.0.5

@nimishamukherjee fabric8/fabric8-ui:SNAPSHOT-PR-2274-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2274-fabric8-planner.badger.fabric8.io


cant compile IceFloeConsole

I want to compile Iceflow as a console application according the screenshot for IceFloeConsole in

https://github.com/old-NWTC/IceFloe/blob/master/compiling/Notes on compiling IceFloe.pdf

I am missing two files:

SingPrec.f90    (which I could find in https://github.com/old-NWTC/NWTC_Library/blob/master/source/SingPrec.f90)
NWTC_IO_reduced.f90

Where can I get the missing sources or do I have forgotten something?
BR
Urs

Hi Urs -- I have no experience compiling the IceFloe console application myself, but I asked Bonnie and she said that you can probably compile IceFloe with the source files from NWTC library (instead of using NWTC_IO_reduced.f90 etc.).  Let me know if that works for you.  Best regards,

Hi Jason,
thanks for you very much for the hint. I am now able to compile with the following modifications:
I used the following sources from /old-NWTC/NWTC_Library:

NWTC_Library\source\NWTC_Base.f90
NWTC_Library\source\NWTC_IO.f90
NWTC_Library\source\NWTC_Library_Types.f90
NWTC_Library\source\SingPrec.f90
NWTC_Library\source\SysIVF.f90

Since the signature of NameOFile has changed, I had to change
diff --git a/source/interfaces/Console/IceFloe.f90 b/source/interfaces/Console/IceFloe.f90
index 6929fd6..aa1b0f4 100644
--- a/source/interfaces/Console/IceFloe.f90
+++ b/source/interfaces/Console/IceFloe.f90
@@ -62,6 +62,10 @@ program IceFloe
    character(132)             :: logFile  ! File name for message logging
    character(132)             :: inputFile
    character(132)             :: outFile
+
+   INTEGER                    :: errStat
+   character(132)             :: errMsg
+
    integer(IntKi)             :: outUnitNum, numArg, n, nL

 ! get parameter input file from command line
@@ -82,7 +86,7 @@ program IceFloe

    CALL DispNVD( IceFloe_Ver )

-   call NameOFile ( 1, 'log', logFile )   ! The filename comes from the command line
+   call NameOFile ( 1, 'log', logFile, ErrStat, ErrMsg )   ! The filename comes from the command line
    call openIceLog (theIceLog, logFile)
    call logMessage(theIceLog, ' Running: '//ProgName_ice//', '//ProgVer_ice//', '//Progdate_ice)
    call logMessage(theIceLog, ' This run started on: '//curdate()//' at '//curtime()//newLine)
@@ -171,7 +175,7 @@ program IceFloe
    if (theIceLog%ErrID >= AbortErrLev) stop

 !  Ouput time series of loads to ASCII file
-   call NameOFile ( 1, 'dat', outFile )   ! The filename comes from the command line
+   call NameOFile ( 1, 'dat', outFile, ErrStat, ErrMsg )   ! The filename comes from the command line
    call GetNewUnit ( outUnitNum, Err, Msg )
    if (Err >= ErrID_Severe) then
       call iceErrorHndlr (theIceLog, ErrID_Fatal, 'Error obtaining output file handle: '//newLine//trim(Msg), 1)

OK, great!  I'm you were able to solve the problem.


View: Toggle Menu Bar not in compliance with documentation

We have written the needed data into your clipbo
Issue Type: Bug
The behaviour described in https://github.com/microsoft/vscode/issues/122094 is not implemented as such. Instead of toggle it changes the "window.menuBarVisibility" to compact. This does is currently not implemented as such. The Alt key has no effect.
Btw this has only slightlty to do with https://github.com/microsoft/vscode/issues/58377 or
Steps to Reproduce:
1.Ctrl+Shfit+P t
2.ype search for View: Toggle Menu Bar
or
1.select View / Appearence / Show Menu Bar to toggle the menu bar visibility
In conflict with the documentation: the Alt key has not effect. Either the behviour needs correction or the documentation.
 Please paste.

@theking2 the alt key focuses the application menu in both cases, we switch between the classic style and compact style in the activity bar


Reminder Embed Enhancements & Whitelist Expansion

Per #663, this PR imlements the first subset of enhancements to the reminders feature.

Expand channel whitelist for non-staff to include #dev-contrib
Add reminder ID to confirmation message footer so users don't have to use !remind list to figure out what reminder they need to reference for changes.
Add targeted due date to confirmation message footer for sanity checking. While the initial reminder creation confirmation currently has a humanized delta, the duration edit does not. Rather than change the edit message string, I just made the embed generic for all feedback.

Before:

After:

Also sneaking in the one-liner fix for #731
Closes: #731

I've also snuck in the one-liner fix for #731


⚠ Avatar API Endpoint has degraded performance

In 47b5879, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 5736 ms

Resolved: Avatar API Endpoint performance has improved in be8c48d after 1 hour, 12 minutes.


Feature/gcp connector

This PR will add feature to transfer Objects from Google Cloud Platform to Azure Block Blob Storage.

To test export GOOGLE_APPLICATION_CREDENTIALS=<path/to/serviceAccountKey.json>.
Eg cmd to transfer file:
azcopy copy 'https://storage.cloud.google.com//' ''


fix: Fixed stickiness for interactive tx in HTTP driver

Codecov Report

Merging #130 (d37e2be) into main (1745548) will decrease coverage by 0.24%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main     #130      +/-   ##
==========================================
- Coverage   79.38%   79.13%   -0.25%
==========================================
  Files          22       22
  Lines        2066     2066
==========================================
- Hits         1640     1635       -5
- Misses        335      339       +4
- Partials       91       92       +1

Impacted Files
Coverage Δ

driver/http.go
71.48% <66.66%> (-1.00%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Fix wrong cosign public key file

Description
Current the cosign public key file was a file without multilines, but cosign verify expects a proper public certificate, which has multi-lines. We now store it base65 encoded in our GH secretes and decode it, when writing it the the release artefacts
How can this be tested?
cosign verify --key <path to your keyfile> dynatrace/dynatrace-operator:v0.15.0
Checklist

[ ] Unit tests have been updated/added
[x] PR is labeled accordingly with a single label
[x] I have read and understood the contribution guidelines

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9903969) 64.56% compared to head (3e9478b) 64.56%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2518   +/-   ##
=======================================
  Coverage   64.56%   64.56%
=======================================
  Files         245      245
  Lines       16178    16178
=======================================
  Hits        10446    10446
  Misses       4928     4928
  Partials      804      804

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support new Surface syntax

@paulstatezny I gave this a try on my codebase and found it doesn't like generator expressions with multiple statements in for blocks. I put up a PR to address the issue, though you may have a better way to do it :-)

Thank you @lnr0626 ! Just reviewed your PR. Super helpful having the formatter tested against different codebases to catch things that were missed. 🙌

I ran into one more bug, but I'm less sure how to fix this one so I'll leave it here. in one of my components, the following:
  def render(assigns) do
    ~F"""

      <#slot name="header">

          {@title}

      </#slot>

      <#slot />

    """
  end

was formatted to:
  def render(assigns) do
    ~F"""

      <#slot name="header">

          {@title}

      </#slot>

      <#slot />

    """
  end

Ahh, thanks @lnr0626. Seems like we're not passing forward the indentation level at some point. I'll add your example as a test case and should be able to isolate the problem area fairly quickly.

@lnr0626 I added a test for

  <#slot name="header">

      {@title}

  </#slot>

  <#slot />

was formatted as:

  <#slot name="header">

      {@title}

  </#slot>

  <#slot />

Were you honing in on the
 opening tag? Was there a paste error in your comment, or did the :if and class and > really get kicked over to the left?

@lnr0626 Fixed. 🙂


CI: Matrix updates needed

This Issue is about the Travis CI matrix.
In order to support Rails & Ruby versions in support, there needs to be some new matrix elements:

[ ] Gemfile for Rails 6.0
[ ] Gemfile for Rails 6.1
[ ] Exclusions for Rails+Ruby versions not compatible
[ ] Ruby 2.6
[ ] Ruby 2.7

https://github.com/stefanpenner/country_select/pull/172/commits/2f164425fab071ae4c539e535ca543adeb9748de in #172  should take care of these... though it looks like my updating of the gemfiles might mess something with platform directive in the gemfiles 🤦

@scudco PS: Awesome that you were doing this, already!

thanks for all your help this week 👍

🎉 Big congratulations on big merge!!! @scudco


SDK 7.4 for Cognitive Services

@yangyuan   Please follow the instructions here for re-generating your SDK from a new swagger.  It is not allowed to manually edit the generated code.

@markcowl I've updated the PR, now it include full auto generated change, also updated tests and release notes.


Emacs plugin

Hi,
i'm creating an Emacs plugin emacs-markdown for your project. It will be soon available into Melpa PR3972.
Regards.

Hi @nlamirault,
That's very cool! Thanks for making it and letting me know. :)
As soon as you're ready, feel free to make a PR and add it to the README here.
Cheers!

Done. You could find the plugin here: http://melpa.org/#/markdownfmt

That's great! :D
Would you like to make a PR to add it to the Editor Plugins section in the README here?


Issue with px4_add_module()

Doesn't target_include_directories() require INTERFACE|PUBLIC|PRIVATE as an argument? The definition of px4_add_module here skips it.
if(INCLUDES)
	target_include_directories(${MODULE} ${INCLUDES})
endif()

It exits with "target_include_directories called with invalid arguments"

Do we actually need this functionality or would it make more sense to directly call include_directories() in that CMakeLists.txt?

Of course we could directly call target_include_directories() in the specific CMakeLists file, but I thought there was a point to all these px4 abstractions.

In this case it really is just a wrapper and I'd rather strip away the additional complexity.

That being said, I did the quick fix recently. https://github.com/PX4/Firmware/blob/master/cmake/common/px4_base.cmake#L248


PP-5407 Backfill get charge events for charge processing

add get all events for a given charge ID to ChargeEventsDao
get charge event entities for backfill worker

Closing in favour of Charge::getEvents


Fix cleanup of network namespaces for detached containers

The containernetworking/plugins ns package does not support unmounting and removing namespaces that were opened by another process. Work around this by doing it ourselves.
Closes: #858

LGTM

@rh-atomic-bot r+


Is there a way to remove the space between the number and the unit?

For example, let's say i use my own short english language and instead of displaying 4 h 22 m i want to show 4h 22m. Is this possible?

The spacer option should do it (see the README for instructions).

Great! Feel free to open a new issue if you have any other questions.