weave-npc blocking connections with valid network policy after a period of time (2.6.0)

What you expected to happen?
Similar to #3761, we are seeing traffic being blocked by weave-npc, but we are using network policies. I would expect traffic to not be blocked by NPC with valid network policy in place
What happened?
We have seen now, consistently (about once every 1-2 weeks) traffic gets blocked between pods inside of a namespace where traffic was working fine earlier.  After we debugged the issue, and saw the ipset's on the host to not have valid entries for the pods, we restart weave on the host, and the ipsets become populated, and traffic continues to flow.
How to reproduce it?
I wish we had an easy way to consistently reproduce this issue, but we are beginning to see this issue nearly every week within one specific cluster.
Anything else we need to know?
cloud provider: aws
custom built cluster using in house automation.
Versions:
# ./weave version
weave script 2.6.0
# docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
# uname -a
Linux ip-10-0-173-150 4.15.0-1056-aws #58-Ubuntu SMP Tue Nov 26 15:14:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T16:54:35Z", GoVersion:"go1.12.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.6", GitCommit:"7015f71e75f670eb9e7ebd4b5749639d42e20079", GitTreeState:"clean", BuildDate:"2019-11-13T11:11:50Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

Logs:
Unfortunately, these logs do not show the weave logs before restart, but when we run into this issue again (in a week or so), we will get those logs and update this issue
https://gist.github.com/naemono/31df744c7ee6b48dba7b554e06553f4b
When this issue is happening, we begin to see a spike in weavenpc_blocked_connections_total from prometheus:

@naemono thanks for reporting the issue

After we debugged the issue, and saw the ipset's on the host to not have valid entries for the pods,

when we run into this issue again (in a week or so), we will get those logs and update this issue

Please gather the weave-npc logs, and ipset dumps. add/detion of entry to ipset's are logged. so we should be able to track under what scenario ipset is going out-of-sync from desired state

We've also been noticing this for weeks now with the latest weave. In a deployment of n pods, we sometimes have x broken endpoints because, while the pods show as healthy & are there behind the load balancer, network is absolutely blocked (as shown in the logs). Kicking such pods to other nodes, or restarting weave on the node fixes the issue immediately. It occurs several times week now. We haven't been able to track a reproduction just yet. The weave uptime is ~4mo-6mo.

@Quentin-M @naemono your clusters are upgraded from previous version of weave-net or new clusters?

@murali-reddy the staging0 cluster @naemono mentions has been upgraded from previous versions of weave.
Furthermore, the logs you asked for for updating IP sets, I haven't seen those in the weave-npc logs, do we need to change/update the debugging level to collect that information?

Dear @murali-reddy,
We have been investigating today as we do have a non-prod case right now, where traffic is blocked between pods.
As it appears, numbers of our nodes have the IPSets for the From/To selectors as well as the associated iptables rule. Now, the node that hosts the destination pod, does not have either From/To IPSets. Looking at the AddPod/UpdatePod logs across the fleet, every single nodes (40+) got the event for the pod creation. However, looking at the nodes that received AddNetworkPolicy/UpdateNetworkPolicy, we are only count 10 nodes here, thus, also seeing only 10 nodes that created the From/To IPSets (looking for "creating ipset" & the IPSet hash), and the associated iptables rule. Therefore, as the IPSets were not provisioned, neither the From/To pod IPs were added to such non-existing IPSets. As we were looking at other recently created network policies in our logs, we did notice that only 10 nodes, the same 10 nodes, caught the event.
Therefore, I am guessing that the NetworkPolicy informer/watch is broken, whereas the Pod informer/watch functions (but unable to act given the required IPSets are unavailable). As we restart weave, all network policies are queried, state is reconciled, fixing the traffic.

We also have this issue going on in another cluster right now
# Log from application
[cdb-7a593229-07f8-493f-91a0-4adea89eaf45-0] W200204 20:43:17.899119 5774009 vendor/google.golang.org/grpc/clientconn.go:1304  grpc: addrConn.createTransport failed to connect to {cdb-7a593229-07f8-493f-91a0-4adea89eaf45-2.cdb-7a593229-07f8-493f-91a0-4adea89eaf45-internal.7a593229-07f8-493f-91a0-4adea89eaf45:26257 0  <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:26257: i/o timeout". Reconnecting...

# so -0 of the statefulset, cannot speak to -2 member on node <IP_ADDRESS>
$ kubectl get pods -n 7a593229-07f8-493f-91a0-4adea89eaf45 -o wide
NAME                                         READY   STATUS    RESTARTS   AGE    IP             NODE                                         NOMINATED NODE   READINESS GATES
cdb-7a593229-07f8-493f-91a0-4adea89eaf45-0   2/2     Running   0          4d3h   <IP_ADDRESS>    ip-10-0-141-103.us-west-2.compute.internal   <none>           <none>
cdb-7a593229-07f8-493f-91a0-4adea89eaf45-1   2/2     Running   0          4d3h   <IP_ADDRESS>   ip-10-0-152-110.us-west-2.compute.internal   <none>           <none>
cdb-7a593229-07f8-493f-91a0-4adea89eaf45-2   2/2     Running   0          4d3h   <IP_ADDRESS>   ip-10-0-169-28.us-west-2.compute.internal    <none>           <none>

root@ip-10-0-169-28:~# iptables -L -nv | grep 7a593229-07f8-493f-91a0-4adea89eaf45
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            match-set weave-cN1skCFLoaYj*t2Ym.tmuLY%4 dst /* DefaultAllow ingress isolation for namespace: 7a593229-07f8-493f-91a0-4adea89eaf45 */
    0     0 WEAVE-NPC-EGRESS-ACCEPT  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            match-set weave-~9IS!W{C7.msGij/f[%w27j?u src /* DefaultAllow egress isolation for namespace: 7a593229-07f8-493f-91a0-4adea89eaf45 */
    0     0 RETURN     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            match-set weave-~9IS!W{C7.msGij/f[%w27j?u src /* DefaultAllow egress isolation for namespace: 7a593229-07f8-493f-91a0-4adea89eaf45 */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            match-set weave-+d#CMWwwpfatM/b:D@7LB%VD8 src match-set weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx dst /* namespaces: selector: allow-namespace-in-default-deny.organization.cloud -> pods: namespace: 7a593229-07f8-493f-91a0-4adea89eaf45, selector:  (ingress) */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            match-set weave-0d{4DK:*zt}w#16(f8?tCqqVR src match-set weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx dst /* namespaces: selector: name.organization.cloud=7a593229-07f8-493f-91a0-4adea89eaf45 -> pods: namespace: 7a593229-07f8-493f-91a0-4adea89eaf45, selector:  (ingress) */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>         <IP_ADDRESS>/0            match-set weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx dst /* cidr: <IP_ADDRESS>/32 -> pods: namespace: 7a593229-07f8-493f-91a0-4adea89eaf45, selector:  (ingress) */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            match-set weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx dst /* cidr: <IP_ADDRESS>/32 -> pods: namespace: 7a593229-07f8-493f-91a0-4adea89eaf45, selector:  (ingress) */
    0     0 ACCEPT     all  --  *      *       <IP_ADDRESS>         <IP_ADDRESS>/0            match-set weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx dst /* cidr: <IP_ADDRESS>/32 -> pods: namespace: 7a593229-07f8-493f-91a0-4adea89eaf45, selector:  (ingress) */
root@ip-10-0-169-28:~# ipset list 'weave-0d{4DK:*zt}w#16(f8?tCqqVR'
Name: weave-0d{4DK:*zt}w#16(f8?tCqqVR
Type: list:set
Revision: 3
Header: size 1024 comment
Size in memory: 200
References: 1
Number of entries: 1
Members:
weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx comment "namespace: 7a593229-07f8-493f-91a0-4adea89eaf45"
root@ip-10-0-169-28:~# ipset list 'weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx'
Name: weave-{V*Z4^{Xw5:O?*rK*MP_#yTZx
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536 comment
Size in memory: 88
References: 6
Number of entries: 0
Members:
root@ip-10-0-169-28:~#

Would expect to see some rules in the ipset on that node..
weave-npc logs from <IP_ADDRESS>
https://scpycae8-cluster-storage.s3-us-west-2.amazonaws.com/weave-logs/weave-npc.logs
weave logs
https://scpycae8-cluster-storage.s3-us-west-2.amazonaws.com/weave-logs/weave.logs
weave pod has been running for 62 days
$ kubectl get pod -n kube-system -o wide | grep  ip-10-0-169-28
weave-net-mwrmn                                                      2/2     Running   0          62d    <IP_ADDRESS>     ip-10-0-169-28.us-west-2.compute.internal    <none>           <none>

Added some details / questions to my post above.

We went all the way down on this one.
So it appears that all 40+ of our weave-npc containers panicked all at once.
 My guess would be that the *selectorSpec was changed by an informer in another goroutine as the structure is not deep copied nor locked, and therefore made the loop crash. And then, as you can see in the trace, this panic bubbles up all the way back to the npController.Run internal loop, which crashes the whole goroutine dealing with Network Policies, without making weave-npc itself crash/restart - leaving you with a weave-npc working with 2 controllers instead of 3 (or only one if you consider that the Pod controller can't function without the IPSets created by the Network Policy controller).
The reason we've been seeing 10 nodes still working is that those 10 weave-npc containers have been restarted by human interventions (while trying to unblock those nodes), or by other natural causes (e.g. node restart).
Beyond protecting the deprovision function from panicking with the appropriate locks / deep copies, I suggest either a/ we make the controllers recover from the panics & restart b/ we make the whole weave-npc binary crash from any one panic from the controllers. Solution a/ is better as it avoids resetting all the IPSets/rules/etc, however b/ may allow for a clean start (no cache, no broken state, etc). We note however that if we are to do b/, as all of our weave-npc nodes crashed all at once, we would have suffered a cluster-wide network downtime as weave-npc would be clearing / resetting everything, which would be really - really bad. (why do you reset upon start again instead of reconciling??).

@Quentin-M thanks for digging deep and finding the root cause of the issue you are facing
So as per the you last comment
 crashes the whole goroutine dealing with Network Policies, without making weave-npc itself crash/restart - leaving you with a weave-npc working with 2 controllers instead of 3 (or only one if you consider that the Pod controller can't function without the IPSets created by the Network Policy controller
I assume this was the reason weave-npc running on the node does not process any events from API server and potentially resulting in traffic from new pods to be dropped. We had this issue reported earlier, not sure in your case cause was same https://github.com/weaveworks/weave/issues/3407#issuecomment-423499250
But irrespective panic need to be prevented and handled gracefully by weave-npc. Just so you know same logic was there in earlier version as well. So i am not sure why you are hitting this issue only with 2.6.
regarding question on reconciliation. I agree weave-npc needs improvements. We have a tracking issues which is not addressed yet.
https://github.com/weaveworks/weave/issues/3586
On weave-net pod restart, it should not flush all iptables chain and ipsets which would mean disruption of services. There should be just reconciliation. Also there should be a periodic sync task that does reconciliation which is typical of controllers.

Dear @murali-reddy,
Thanks for your answer.

But irrespective panic need to be prevented and handled gracefully by weave-npc. Just so you know same logic was there in earlier version as well. So i am not sure why you are hitting this issue only with 2.6.

No, I did not claim that we've only seen the issue in 2.6. Indeed, the deprovision code has been unchanged for a long-time. I imagine that the conditions creating the panic in the function only seldom occurs & requires good timing - which would be why the issue hasn't been that widespread.

On weave-net pod restart, it should not flush all iptables chain and ipsets which would mean disruption of services. There should be just reconciliation. Also there should be a periodic sync task that does reconciliation which is typical of controllers.

Thanks for confirming the intent. It has been (personally) our biggest worry using Weave, as some of our financial services are sensitive to network blips. The scope of this work (and its required testing) seems fairly large. Is there any plan from WeaveWorks to iterate on this?
From our side, if you're fine with it, we'll be happy to submit a short PR to make the controllers recover from panics, as we'd like to fix (in other words: restart) our 30+ broken nodes, without having to handle other restarts if it is related to a bad network policy resource.

FYI, we are also testing what would happen with having a reconciliation loop outside of "0" for pods/namespaces over here, and will loop back...

From our side, if you're fine with it,we'll be happy to submit a short PR to make the controllers recover from panics

@Quentin-M Weave Net is an Open Source project please feel free to submit  PR

Thanks for confirming the intent. It has been (personally) our biggest worry using Weave, as some of our financial services are sensitive to network blips. The scope of this work (and its required testing) seems fairly large. Is there any plan from WeaveWorks to iterate on this?

As of now its not planned for next major release. It may be considered. But if you require a guaranteed fix  you can reach to Weaveworks commerical support. Again any PR would be welcome.

@murali-reddy We've added a reconciliation loop for pods/namespaces/netpols over here, and have it running in a couple non-production clusters, and are not noticing any immediate issues with doing this.  Was there any reason in particular that this wasn't initially implemented?  I'm just wondering if others that are more intimately familiar with the code could point out some downfalls of this?  thanks for any insights you can provide.

From our side, if you're fine with it,we'll be happy to submit a short PR to make the controllers recover from panics

After some internal discussions, we ended up thinking that instead of making the controllers recover from panic, as some of the structures will still be loaded in memory - instead we should consider removing the reset upon startup, and propagate the panic to make the whole weave-npc container crash & restart cleanly. From there, reconciliation should be enough to clean up / catch up / go forward.
However, just like @naemono, we are not sure why the reset was in place at all in the beginning (given it obviously creates downtime upon npc restart, which doesn't make much sense - 10secs in our case), so a bit wary. Assume if we were to remove the initial reset, we should either do an initial reconciliation (what is on the host vs. what is desired state), or make the provision/deprovision based on some sort of 3-way decision (what's on the host, what is "current", and is "desired").
Thank you!

However, just like @naemono, we are not sure why the reset was in place at all in the beginning (given it obviously creates downtime upon npc restart, which doesn't make much sense - 10secs in our case), so a bit wary.

@Quentin-M Agree. We should just perform reconciliation instead of reset at the start of weave-npc pod

We've added a reconciliation loop for pods/namespaces/netpols over here, and have it running in a couple non-production clusters, and are not noticing any immediate issues with doing this. Was there any reason in particular that this wasn't initially implemented? I'm just wondering if others that are more intimately familiar with the code could point out some downfalls of this? thanks for any insights you can provide.

Did you made change to informer's resyncPeriod? This will cause load on the API server as informer on each node will relist the API object at the configured duration. What is ideal is we design controller which at periodic interval list the cached objects and perform sync.
Either way i think the problem was not missed events from the API server rather the go routine that crashed stopped processing events. @Quentin-M please feel free to subit a PR to perform reconciliatio instead of reset.

@murali-reddy
Either way i think the problem was not missed events from the API server rather the go routine that crashed stopped processing events
Strange thing is, we're not seeing the crashing, we are only seeing the network anomalies from the missing rules, which is why we're testing having a reconciliation period.  If the only downside is increased apiserver load, I think that's much preferred than having missed rules inside the cluster that are causing failing network communication.
We're still testing the changes in our clusters, and will report back, likely with a PR that keeps the default at "0", but allows tuning of the reconciliation interval.

Strange thing is, we're not seeing the crashing, we are only seeing the network anomalies from the missing rules,

@naemono then we are possibly looking at different issue than what @Quentin-M observed. While reconciliation should help the fix the problem but there must be latent issue which is not updating the ipset appropriatley. It would be nice to get to root cause of the problem. I can not access the logs shared by you. Please see if there is any unexpected deletions from ipset

@murali-reddy Sorry about the logs
https://bb83126f306f400e87721c0482fcd983-logs.s3-us-west-2.amazonaws.com/weave-logs/weave-npc.logs
https://bb83126f306f400e87721c0482fcd983-logs.s3-us-west-2.amazonaws.com/weave-logs/weave.logs
I've verified that these are, indeed, public, and accessible.

@Quentin-M it would be better if you opened a separate issue since the two threads of conversation are hard to maintain.
The code reporting your panic is here:
https://github.com/kubernetes/apimachinery/blob/210bcde8e5a7715fe776460ca1df1a3f2738725e/pkg/util/runtime/runtime.go#L66
However it appears to me that the intention is to re-raise the panic and hence exit the whole program.  I am mystified why it keeps on running.

@naemono thank you very much for the logs but I think the NPC log does not go back far enough - we only see it blocking things and not what led up to that state.  Do you have earlier logs?  (Or, if it is reproducible on restart, restart the pod and send us the whole log).

@bboreham @murali-reddy I see that the logs seems to default to info level
  --log-level=info                                           logging level (debug, info, warning, error)

are the npc changes not shown at info level?  As mentioned by @ephur earlier, we're not seeing them at all.

We actually set npc to debug level in the manifest. The problem I was commenting on is that your file starts at a time after the interesting part.

I'm going to go ahead and close this, and we have recently discovered that the panic referenced by @Quentin-M actually IS the root cause of our issue as well and https://github.com/weaveworks/weave/issues/3771 is that continued discussion.  Opening a PR now to attempt to crash the whole npc app when an internal panic occurs.

I'm going to re-open this issue to cover the underlying symptom described at https://github.com/weaveworks/weave/issues/3764#issuecomment-582230881 - a panic causes a hang not a restart.
#3771's description covers what should happen after a restart, although the subsequent discussion is mostly about what causes the hang.


Issues with Dynamic-Hooks RC-1

following the docs on Class level hooks: http://www.orientechnologies.com/docs/2.0/orientdb.wiki/Dynamic-Hooks.html
CREATE CLASS Invoice EXTENDS OTriggered
ALTER CLASS Invoice CUSTOM onAfterCreate=invoiceCreated
CREATE FUNCTION invoiceCreated "print('\\nInvoice created: ' + doc.field('number'));" LANGUAGE Javascript
INSERT INTO Invoice CONTENT { number: 100, notes: 'This is a test' }

error
orientdb {db=myDB}> INSERT INTO Invoice CONTENT { number: 100, notes: 'This is a test' }

Error: com.orientechnologies.orient.core.command.script.OCommandScriptException: Error on parsing script at position #0: Error on execution of the script
Script: invoiceCreated
------^

Error: javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "doc" is not defined. (<Unknown source>#2) in <Unknown source> at line number 2

Error: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "doc" is not defined. (<Unknown source>#2)

http://grepcode.com/file_/repo1.maven.org/maven2/com.orientechnologies/orientdb-core/2.0-rc1/com/orientechnologies/orient/core/db/record/OClassTrigger.java/?v=diff&id2=1.7.10#300
Fix it asap, please.

Is there any target release for this bug? I need to implement audit tables and this doesn't seem possible while this is broken.

@nin-jin Sorry, with that link I don't understand what you're saying.

Also is there any chance getting this removed from the docs while its broken? It was quite confusing as a new user to orientdb

Fixed in 2.0.4-hotfix and 2.1-SNAPSHOT (develop branch)

Thank you. Link above is pointer to bug place.


Registering via GitHub

I think this would be good addition as most of rocks are anyway located on GitHub. So adding button to LuaRocks register page that will let register you with your GitHub account makes sense.

Hi!
You can already link your LuaRocks account to your GitHub account. This makes it easy to claim any projects in the repository which are hosted in GitHub.
I'm closing this one since this is a bug tracker for the LuaRocks tool and not the website (which is at https://github.com/leafo/luarocks-site — you might want to post any website issues there). But thanks for the feedback!

Yes, but I do not meant that. Okay then I will repostthis issue there.


[chat] A specific request freezes up the extension

"write mysql Dockefile that copies config nearby and makes mysql use it"

Nothing discernable when trying to stop execution and look at the stack.
"Github authentication provider"?
😕

Checked plugin v2.0.127 with gpt-3.5 and gpt-4 - the problem was not reproduced.


Update the scaffolders to use the new  Tag Helper when targeting 2.1 projects

We introduced the new <partial /> Tag Helper in ASP.NET Core 2.1 and thus we should update the scaffolders for both Views and Razor Pages to use it when adding the validation scripts partial when they're scaffolding into a project targeting 2.1.0:
@section Scripts {
    <partial name="_ValidationScriptsPartial" />
}

@prafullbhosale @mlorbetske

@seancpeters

Checked the code and this is already available in the code. This bug was not updated. Closing
https://github.com/aspnet/Scaffolding/blob/61114a665ee506804c3a648cb88b8ebc11ae9819/src/VS.Web.CG.Mvc/Templates/Identity/Bootstrap4/Pages/Account/Manage/Account.Manage.SetPassword.cshtml#L9


A more generic "File Gateway" would be the ideal solution here

In this case we could use the same setup for uploading wire files, ach files, BSA/Compliance files as needed to partners, you could still have different upload agents for each if needed but the generic nature of this need would go a long way.
I feel like otherwise we'll end up duplicating several parts of ach gateway multiple times with various systems when some configuration changes would be everything that is needed, though I understand that would also mean a fairly good size refactor of the codebase possibly.

I agree that a more generic solution would help with Wires, ICL, generic reports, etc and that's a personal goal of mine.
Converting achgateway into a generic uploader might be more work than I'm willing to signup for. It's working pretty well so far and has some ACH details backed into it. We know that the config is confusing in several spots, so a cleanup there would be nice.
We're talking about a "file collector" internally which is a generic downloader from multiple SFTP endpoints, so a generic uploader would be very similar to that. cc @atonks2 and @alovak


Jdelforno ple func updates

This updates shows users how they can publish an event from a system topic, into an Azure Function with its' public interface firewall enabled but allowing the Service Tag "Event Grid" through, thus achieving the best of both worlds.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

I will discuss with the PM and update it if needed.
#please-close


Bumps ruby and various gems

Opening this in place of #404 that was against my fork.

I'm dealing with the broken build. :see_no_evil:

@jamiecobbett @benilovj have at it!


update(plugins): bump sdk version in go plugins

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area plugins
What this PR does / why we need it:
This updates all the Go plugins to the newest changes in the Go SDK version. The version of each plugin has not be bumped yet, because they'll be released along with Falco 0.32.0 once the plugin API will be officially stable.
Which issue(s) this PR fixes:
Special notes for your reviewer:

LGTM label has been added.  Git tree hash: dbe669b55d1dd000007523d290a5305d90c945e7

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

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

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


It crashes when the detail news page go back to news table view

代码定位：Method: 0x100044000 @ Offset: 139748 in Address: 0x100044000
崩溃原因：attempt to insert row 2 into section 1, but there are only 2 rows in section 1 after the update

恩 我回头fix一下， 抓的别人接口人家经常很没节操的改变。 我容错下


Insertions always removed

Even when changing config.insertions to True, insertions are always removed and not included as nodes in the generated graph.
This is due to the config.insertions paramater not being passed to process_dataframe() in graphs.py, meaning the default value of False is always used.

Thanks for the report and quick PR.
Out of interest, what's your usecase here? I've considered adding support for an optional entrypoint to select insertions of interest though they've never been something I've wanted in practice.

Ah, I see; that makes sense.
That'd be great! Happy to discuss. I've just added a tutorial notebook appling e(n)GNNs to antibody developability prediction [here[(https://github.com/a-r-j/graphein/blob/rna3d/notebooks/tdc_developability.ipynb) that you might be interested in.

Great, I'll get in touch when I've wrapped up this project then. Thanks for sharing, very similar to what I'm doing! I'm also using the Satorras model.


Self referencing tables not supported

When using prisma2 with mysql/typescript I have found two scenarios which are not supported.

Any table where the foreign key references itself.
Any table which has two foreign keys to the same table

The use case for 1 could be a categories table where each category has a parent which is stored in the same table.
the use case for 2 could be a shipping table where the origin and destination warehouses both reference a warehouse in the same warehouses table.
Is there currently any plans to support these features? With a little support I'd be happy to give these features a go if desired

Hi,
Yes, we support both of these use cases.

Any table where the foreign key references itself.

You can express that like so in the schema:
model Category {
  id         String    @id @default(cuid())
  name       String
  parent     Category? @relation(name: "CategoryParent")
  child      Category? @relation(name: "CategoryChild")
  parentBack Category? @relation(name: "CategoryParent")
  childBack  Category? @relation(name: "CategoryChild")
}

Note that backrelations are required so that we can disambiguate the relations. That will tell prisma that you are trying to reference the id field of the same model.
That will create the following database structure:

We are also trying to improve this syntax: https://github.com/prisma/specs/pull/299

Any table which has two foreign keys to the same table

Yes, we also support this but currently it is a bit buggy (see #976)
Example datamodel for this use case:
model Warehouse {
  id       String     @id @default(cuid())
  name     String
  shipping Shipping[]
}

model Shipping {
  id          String    @id @default(cuid())
  address     String
  origin      Warehouse
  destination Warehouse
}

Closing this one, @mendeljacks If you think that @pantharshit00's answer does not address your question completely, please add a comment on this issue and tag me.


Fix Editable Children issues with node renaming, moving, duplicating and instancing.

Hopefully fixes all the issues on KoBeWi`s tracker:
https://github.com/godotengine/godot/issues/33790
I'm aware it won't get merged to 3.2 but 4.0 is too unstable ATM to work with. Also i didn't managed to compile it yet.
I'm putting it here so people can test it properly. I did some testing myself but there's only so much one person can test (:
Bugsquad edit:
Fixes #28861
Fixes #27064
Fixes #23979
Fixes #20409
Fixes #27023

@KoBeWi Sure, i can do that.
But what about an error check from Node::set_editable_instance(Node *p_node, bool p_editable)?
ERR_FAIL_COND(!is_a_parent_of(p_node));
Put it before that node->set_editable_instance(false); ?

Not sure if this check is necessary. But yeah, you can put it before that.

I think i'll skip renaming those methods. is_editable_instance is called in many places and i'd need to make sure there's a check for nullptr everywhere. Too big potential for a mistake.
The less i'll change the less i'll break.

As for reduz's comment (assuming i understood correctly) - my implementation keeps the desired behaviour in following cases:

instancing an inherited scene
instancing a scene that contains an instanced scene

but doesn't do the right thing in one case

merging from a scene  that contains an instanced scene (a subscene)

Editable Children checkbox gets propagated if you merge. Which leads to a nasty bug where a node has 2 children with same names. I'll see what i can do about it.

I've changed Subscene Editor so it clears editable children checkbox when reparenting nodes.

Someone brought up the issue on Twitter, so I took another look at this PR.
I think I understand what problem reduz mentioned (but not why is this a problem, heh). Here's a small project that displays this:
ReproductionProject.zip
It has SceneA, SceneB instancing SceneA with editable children and SceneC instancing SceneB.
Now, when you go to SceneC and turn on editable children in the SceneB instance:

without this PR, only SceneB will have editable children. In the tscn file you will see

[editable path="SceneB"]

with this PR, SceneA will also have editable children, because it was saved in the instance. In the tscn file you will see

[editable path="SceneB"]
[editable path="SceneB/SceneC"]

To prevent this, when instancing a scene, we should check whether its parent (ancestor) is an instance. If it's an instance and doesn't have editable children enabled, discard the editable children for this node.

Ok, so this is impossible. The editable instances are set when PackedScene is being instanced and it doesn't know yet whether it has parent scenes. So we'd have to clear the editable instances from parent scene (i.e. a scene instances and checks if child scenes have editable instances they shouldn't have).
But IMO this is much less severe issue than what this PR fixes. I have a pretty big project and never had a scene that would reproduce the "problem" caused by the PR. And even if I had, this doesn't sound like something serious. And the way the editable children are handled currently can lead to data loss, which is rather bad.

And the way the editable children are handled currently can lead to data loss, which is rather bad.

Can confirm data loss occurring in day-to-day work with how it's set up currently.

EDIT:
Also

I've changed Subscene Editor so it clears editable children checkbox when reparenting nodes.

What does it exactly mean? It doesn't sound like something desired.

I made a video to explain that:
https://www.dropbox.com/s/133x1asor6cwytp/GodotEditChldrnMergeFromScene.mp4?dl=0
"Subscene Editor" is used when the user chooses "Merge from Scene" and selects a scene to merge from. A window names "Select node(s) to import" appears. By "reparenting" i meant moving nodes from that new window to the Scene tab.
I did that in order to prevent the very problem you've described for "Merge from Scene" case. But as we can see from the video it doesn't work properly with multiple instantation levels. I'll see what i can do about it.

This looks the same as the issue I mentioned in https://github.com/godotengine/godot/pull/39533#issuecomment-714474715
If you can fix this then ok, but it's not necessary to do in this PR.

I've added a recursive_disable_editable_children() function that unchecks "editable children" in all nodes added with "Merge From Scene" option. Now merging nodes with multiple levels of instantation won't propagate their "editable children" setting.
And... i've found an inconsistency with "Merge From Scene" in Godot 3.2.1 stable. The video will explain it better than i ever could:
https://www.dropbox.com/s/tqjgux6hhsfrvp7/Godot321InconsistentMergeFromScene.mp4?dl=0
With my recent change all those checkboxes are unchecked every time.

And... i've found an inconsistency with "Merge From Scene" in Godot 3.2.1 stable.

That's #28861

I checked if this PR fixes all issues from my tracker and seems like it doesn't fix #27023
When merging from other scene, the editable children should be preserved, because it's the same as copy-pasting a node to another scene.

Ok, so i've reverted any changes specific to "Merge From Scene".
I went through all issues from the tracker to make sure they are all fixed (i've checked that on 3.2.4 beta build).

So I just discovered a related problem in my project and I don't know whether this PR addresses it or not.
Basically I have a level editor scene where I use PackedScene.pack() to save out arbitrary branches of the tree (and leave that branch there, local, for further editing, as opposed to "save branch as scene"). I recursively loop over all the node's subnodes and set their owner so PackedScene will include them.
The problem is that in the freshly saved scene, any instances are now expanded (I can see and edit the children). Almost as if I manually checked "editable children" on the instance, except that this box is still unchecked, and the subnode names are not greyed out as they would normally be (though their inspector properties do display in red). And if I then try to check editable children, new children get added and I have duplicate node names.
Is this a known problem, or should I open a new issue?

Is this a known problem, or should I open a new issue?

It's not even a bug. All nodes whose owner is the scene root will have their children visible. Instanced scenes have owner pointing to themselves instead of the scene root, hence their children are hidden by default. The "editable children" property basically exists so that instanced nodes could have their children displayed, even if their owner is different.
From what you say, all your nodes have the same owner, so it's natural that they all show.

Instanced scenes have owner pointing to themselves instead of the scene root, hence their children are hidden by default.

I was under the impression that a node had to have the edited_scene_root as its owner, otherwise it wouldn't be visible at all? Perhaps you can tell me how to accomplish this, as I don't see how one can make instances own themselves after packing the scene.
And aren't subnodes of an instance supposed to always have their names greyed out? If so, this is buggy because they are still white after the save. And the children with identical names aspect is a bug, although I suppose that's been addressed already...?

Instanced scenes have owner pointing to themselves instead of the scene root, hence their children are hidden by default.

I was under the impression that a node had to have the edited_scene_root as its owner, otherwise it wouldn't be visible at all? Perhaps you can tell me how to accomplish this, as I don't see how one can make instances own themselves after packing the scene.
And aren't subnodes of an instance supposed to always have their names greyed out? If so, this is buggy because they are still white after the save. And the children with identical names aspect is a bug, although I suppose that's been addressed already...?

Sibling nodes with same name is indeed a bug and it's been reported: https://github.com/godotengine/godot/issues/31744
The bug reporter has came up with a solution and asked reduz and Akien for guidance.
This PR isn't addressing that problem.

We'll need a master PR with those changes before this can be considered for merging, as we don't fix bugs in 3.2 to keep them in future releases.

We'll need a master PR with those changes before this can be considered for merging, as we don't fix bugs in 3.2 to keep them in future releases.

Thanks!

Thanks!


"My Replies" tab when adding new replies

Wish: https://g0v-slack-archive.g0v.ronny.tw/index/channel/C2PPMRQGP#ts-1584415185.236800
It is common that we re-use the replies we have previously written.
As an editor, when I see a message that can be replied using previous reply:
As-is

I must visit https://cofacts.g0v.tw/replies?mine=1 to find the reply I wrote, back to the message detail page, switch to "search" tab and paste the text.
To-Be

Within the message detail page, The current "search" tab should be replaced with a new tab "My replies" that lists all my previous replies. The "Use this reply" button should be a split button that has 2 function

Use this reply (default)
Append to draft (in dropdown)

When 2 is clicked, the following happens:

Switch back to "New reply" tab
current draft's reply type is changed to the copied reply's
copied reply text is appended to the current draft text
copied reply reference is appended to the current draft text

Current search form in "Search" tab should be moved to the top of "Reuse existing reply":

Don't disable "Reuse existing reply" tab when there is no similar article
When search bar is empty, display replies from similar articles; when search bar has content, hide replies of similar articles.

"Use this reply" button in "Reuse existing reply" should also switch to split button.

Integrated in new design:
https://g0v.hackmd.io/@NFi0czulSemxCM8RNSlz8Q/HJ8xT3QVU/%2FCx7dQo3YTQS4KwYmYCBY8w
Thus closing this.


Nest: individual key sorting

Sometimes it's necessary to sort keys differently. Currently, only one sort is applied to all keys. I'm thinking the key function could accept an optional sort function:
d3.nest()
  .key(d => d.region, d3.ascending)
  .key(d => d.country, d3.descending)
  .entries(data)

Would be very useful for something like a pivot table.

Actually, the sort function only applies to the most-recently registered key. So your example should look like this:
d3.nest()
    .key(d => d.region).sortKeys(d3.ascending)
    .key(d => d.country).sortKeys(d3.descending)
    .entries(data)

I’ve made the documentation a bit more explicit.


Resource https://swapi.co/ is unavailable

Cannot get access to https://swapi.co resource.
Getting ERR_CONNECTION_TIMED_OUT in Chrome

Looks up to me:
$ ping swapi.co
PING swapi.co (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=57 time=6.431 ms
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=57 time=7.295 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=57 time=6.362 ms


[Windows] add system probe module for windows crash detection.

This PR is a replacement for previously reviewed and approved (but not merged) PR #17973
This PR splits the previous PR into the support module implemented in system probe, and two separate forthcoming PRs.  The forthcoming PRs will each implement a new feature which uses this probe module.
Split into separate PRs to

decouple the crash parsing module from the consumers
allow the consumers to be added independently (and in independent order)

Motivation
Split the previous PR into more manageable chunks.
Make it easier to review by individual code owners.
Make consumers easier to review on their own merits.
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
QA notes are provided in internal readme
Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[x] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[x] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Go Package Import Differences
Baseline: 14925fb Comparison: f90f680
agent windows/amd64 +3, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/system/wincrashdetect/probe
+github.com/DataDog/datadog-agent/pkg/ebpf
+github.com/DataDog/datadog-agent/pkg/ebpf/bytecode

agent windows/386 +3, -0
+github.com/DataDog/datadog-agent/pkg/collector/corechecks/system/wincrashdetect/probe
+github.com/DataDog/datadog-agent/pkg/ebpf
+github.com/DataDog/datadog-agent/pkg/ebpf/bytecode

process-agent windows/amd64 +1, -0
system-probe windows/amd64 +1, -0

I don't think anything windows should import pkg/ebpf. It looks like you call ebpf.NewConfig() but never actually use the config object. I think you can use the cfg argument passed to the module instead.


(Epic) API compatibility improvements

This issue is in response to https://github.com/influxdata/docs-v2/issues/2100, which see.

[ ] Finish Grafana authorization docs (https://github.com/influxdata/docs-v2/issues/2165).
[ ] Create a task-based "Using 1.x clients with 2.0" document under "Upgrade InfluxDB". (api-compatibility-1x-client-doc branch created for this.)
[ ] Document creating DBRP mappings and token authorizations (see also https://github.com/influxdata/docs-v2/issues/2165) in above document.
[ ] Cloud:

[ ] "Upgrade from 1.x to Cloud"
[ ] "Using 1.x clients with Cloud"

There is no v1 Auth capability in Cloud.  That is only available on OSS.
This means that this section should not appear in our Cloud reference: https://docs.influxdata.com/influxdb/cloud/reference/cli/influx/v1/auth/

This also means that folks who wish to continue to use their v1 tools/dashboards with Cloud --- like Chronograf, Grafana, and Kapacitor -- MUST change their auth schemes to use token-based auth.
For OSS, there are 2 options --

use the v1 Auth (automatically created for NON-ADMIN users or manually create v1 Auth username/passwords). Keep in mind that there are two reasons folks will need to create v1 Auth setups post-upgrade ---
a) they didn't read the upgrade doc and don't understand what happened to their admin users or
b) they didn't read the upgrade doc and didn't have auth enabled and now need to create username/password combo to make this work

switch to token-based auth as in the Cloud scenario

see also ->  https://github.com/influxdata/EAR/issues/2056

connect https://github.com/influxdata/docs-v2/issues/2208

Closing this issue for now. The only remaining items are covered in #2332.


Add Copy Bundle Resouces Image to Documentation

Before this section:
Read-Only Databases
If you bundle a database with your app, you can establish a read-only connection to it.
Before you do this, you have to copy the db.sqlite into your Bundle Resources. I believe adding a  quick snapshot in the documentation and telling new users this step will help.

Duplicated by #43.


Any plans for KHR_lights extension?

I'd like to be able to import a scene including lights using glTF.

KHR_lights_punctual is supported in v0.5.0.


Networks.java:35-37: Extend create with options to...

The puzzle 209-9b3b61fc from #209 has to be resolved:
https://github.com/amihaiemil/docker-java-api/blob/970d39ca7e752938d6dd9a387a7eaa1f3027b045/src/main/java/com/amihaiemil/docker/Networks.java#L35-L37
The puzzle was created by Boris Kuzmic on 17-Dec-18.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@amihaiemil please pay attention to this new issue.

@amihaiemil/z please, pay attention to this issue

Job #224 is now in scope, role is DEV

The job #224 assigned to @paulodamaso/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

The puzzle 209-9b3b61fc has disappeared from the source code, that's why I closed this issue. //cc @amihaiemil

The job #224 is now out of scope

Order was finished: +30 point(s) just awarded to @paulodamaso/z


Does it support OCR?

If it is supported, how should I operate it?

Yes OCR supported.  If you have a it enabled in your licence, OCR happens by default when you filter an image; there's no change needed to your code.


Add merge clause for huwiki

This patch adds rules to merge human- and auto-labeled data.
It's interesting what must have happened on the master branch: we had no rules for the labeled_revisions files, so I imagine that model training used stale data left in the directory from previous runs.  Our makefile generator should make this impossible, by asserting that exactly one method of producing the labeled-revisions files is present.

n.b., I'm building the models, but this PR can be merged separately from the binaries.


Decide on standard square size and yarn weight

Initial thoughts from early April:
I think 6in/15cm squares will work best - small enough to work up quickly, and lots of patterns exist for this size.
Similarly, I think DK/4-ply/4mm yarn is best to standardise around - thin enough to get some detail, thick enough to work up easily, and lots of people have DK scrap in their stash.
As some people might struggle with thinner yarn/smaller hooks we could also have a bit of stash of chunky yarn and larger hooks - but maybe not advanced patterns for these.
We could also support multi-squares that are some integer multiple of the normal square on each side. e.g. a 6x12in double square or a 12x12in quadruple square. But this is probably only for the most enthusiastic contributors :)

(mid-April) I tested a simple square of just dc rows, and found:
DK (4mm) yarn: 35 mins to complete 2/3 of the square (9 rows of 26 dc) → 50+ mins for full square
Chunky (6mm) yarn: 20 mins to complete full square (9 rows of 19 dc)
Assuming a beginner would take at least 2x the time that I do for this, I think using DK yarn would be unrealistic to complete within a workshop. Chunky yarn is probably the way to go (and a little easier to manage for newbies).
We could still provide DK patterns for intermediate/advanced contributors who are willing to invest a little more time. Not sure how well the different yarn types will combine in a larger blanket.

DECISION: contributions should take the form of a 15cm  x 15cm square. It is better to be under this size than over, as is is easy to add an extra bit of border when needed. Yarn weight should be between DK (4mm) and chunky (6mm).


[CELEBORN-1518] Add support for Apache Spark barrier stages

What changes were proposed in this pull request?
Adds support for barrier stages.
This involves two aspects:
a) If there is a task failure when executing a barrier stage, all shuffle output for the stage attempt are discarded and ignored.
b) If there is a reexecution of a barrier stage (for ex, due to child stage getting a fetch failure), all shuffle output for the previous stage attempt are discarded and ignored.
This is similar to handling of indeterminate stages when throwsFetchFailure is true.
Note that this is supported only when spark.celeborn.client.spark.fetch.throwsFetchFailure is true
Why are the changes needed?
As detailed in CELEBORN-1518, Celeborn currently does not support barrier stages; which is an essential functionality in Apache Spark which is widely in use by Spark users.
Enhancing Celeborn will allow its use for a wider set of Spark users.
Does this PR introduce any user-facing change?
Adds ability for Celeborn to support Apache Spark Barrier stages.
How was this patch tested?
Existing tests, and additional tests (thanks to @jiang13021 in #2609 - see here)

+CC @waitinfuture, @jiang13021

Gentle ping on this @waitinfuture

LGTM. However, you might want to link to this PR in your comment: https://github.com/apache/celeborn/pull/2609. The PR you are referring to in the comments is a test I wrote for another issue.

However, you might want to link to this PR in your comment: https://github.com/apache/celeborn/pull/2609. The PR you are referring to in the comments is a test I wrote for another issue.

Thanks for pointing it out ! Updated

The test failure is not related to this change.
+CC @waitinfuture, @ErikFang

+CC @RexXiong, @waitinfuture Please see the fix here for the determinate stage failure case we are discussing here.

Actually, let me think a bit more about the determinate stage case though ... there might be corner cases here that need handling.
Making the PR a draft.

I have reverted the changes for determinate stage handling here @RexXiong, @waitinfuture - and limiting it to barrier stage alone.
Let us handle task reattempt for determinate stages in #2609.
@jiang13021 , this is back to the same state you had reviewed and approved earlier at.

Gentle ping @waitinfuture, @RexXiong

Thanks for the review @waitinfuture, have addressed comments.


Add multiple roles to aws:role: arn....

I want to add multiple roles, but some how i am getting error, is their is any other way that i can add multiple roles to a SecretStore ?

Hi @sam-germany ! Can you share a bit more about your use case? What are the different roles used for?

If you want to chain multiple roles, you can use additionalRoles (see here).


How to delete all elements from list?

Please tell me, how to delete all elements from list?

I found a way to remove any element of the list.
list.remove(index);
mAdapter = new MyAdapter(this, list);
recyclerView.swapAdapter(mAdapter,false);
First, remove your items from list,
Initialise your adapter again.
And finally swap your new initialised adapter with old one.
Otherwise removing and calling notifyDataSetChanged() is not working at all.

If you look at the tutorial page, at the bottom it says

During the life of the RecyclerView items may be added and removed from the list. Please note that the traditional notifyDataSetChanged() of RecyclerView.Adapter does not work as intended.

Instead Expandable RecyclerView provides a set of notify methods with the ability to inform the adapter of changes to the list of ParentListItems.

// Parent Changes
notifyParentItemInserted(int parentPosition)
notifyParentItemRemoved(int parentPosition)
notifyParentItemChanged(int parentPosition)
notifyParentItemRangeInserted(int parentPositionStart, int itemCount)

// Child Changes
notifyChildItemInserted(int parentPosition, int childPosition)
notifyChildItemRemoved(int parentPosition, int childPosition)
notifyChildItemChanged(int parentPosition, int childPosition)

So you need to use those methods. If you want to delete everything, you can remove them from the list (use getParentItemList() if you don't have a reference) and then do notifyParentItemRangeRemoved(0, list.size()) . That will mark all the elements as removed - you need to make sure the list isn't already empty though, or you'll get an IndexOutOfBoundsException (it tries to access element 0 of the empty backing array)

Thanks!

Thank you @baka-kaba for your support!


Implement alarm inventory

This PR implements alarm-inventory.
Alarm-inventory keeps a list of all the possible alarm-types in a system. According to https://datatracker.ietf.org/doc/draft-vallin-netmod-alarm-module/, a system could define its own alarm-types in a configuration file by using the identity keyword (See Section Appendix A.  Enterprise-specific Alarm-Types Example). Example:
identity xyz-alarms {
       base al:alarm-identity;
}

This doesn't make sense to us, as the lwAFTR will handle a finite set of alarms which types should be known beforehand. In addition, we don't want users to define alarm types in a configuration file. All the alarms state information will be empty in configuration files.
So the the alarm-inventory (the list of alarm types) is predefined in a YANG instance file which contains the default settings for alarms (so far, it only contains alarm-inventory).
The PR also modifies the get-state command to print out the alarm inventory. Example:
$ sudo ./snabb lwaftr run --conf lwaftr.conf --name lwaftr --on-a-stick 83:00.1

$ sudo ./snabb config get-state lwaftr /softwire-state/alarms
alarm-inventory {
  alarm-type {
    alarm-type-id arp-resolution;
    alarm-type-qualifier ;
    has-clear true;
    resource external-interface;
  }
  alarm-type {
    alarm-type-id ndp-resolution;
    alarm-type-qualifier ;
    has-clear true;
    resource internal-interface;
  }
}

Superseded by #920


System.ArgumentException: Media instance is not initialized.

I have an issue about Vlc.DotNet.
Generic information

Vlc.DotNet version : 3.0.0
Vlc.DotNet project used : WPF
libvlc version : x64
.net version : 4.6.2
Project language : C#
Project build architecture : x64
Operating system : Windows x64

Summary
I have 10 urls of media files, I call MediaPlayer.Play(new Uri(url)) continous in a short duration, and it causes the issue. And this issue make the app crashed.
System.ArgumentException: Media instance is not initialized.
at Vlc.DotNet.Core.Interops.VlcManager.GetMediaTracks(VlcMediaInstance mediaInstance)
at Vlc.DotNet.Wpf.VlcVideoSourceProvider.VideoFormat(IntPtr& userdata, IntPtr chroma, UInt32& width, UInt32& height, UInt32& pitches, UInt32& lines)

[Yes ] I confirm that my issue doesn't happen in VLC itself.

Thanks for reporting,
Can you send me a minimal example project (for example a git repo on github) so that I can track down the issue?
This sounds like a race condition.

One workaround would be to call SetMedia, wait for the Parsed event, and then call Play(). We still need to fix this properly, but I need to reproduce this first to make sure that the fix is correct.
How can I do ? Can you send me a sample code where it does crash?

I'm getting this exception at startup. It definitely feels like a race condition because after a number of restarts of the app it works fine. I run through a sequence of videos and once up and running it can play the video on a subsequent pass. It's like the first video just causes it to fall over.


net/url: parsing leaves a trailing = on the query params when there is only a single key

What version of Go are you using (go version)?

$ go version
go version go1.10.3 darwin/amd64

Also

go version go1.10.3 linux/amd64

Does this issue reproduce with the latest release?
I haven't tried the latest release directly I have tried on the playground though: https://play.golang.org/p/LSBliQAmXLc
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/ndavies/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/ndavies/Projects/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/nf/fhhgkcvd737ggxqm3_f4tlb0nst21y/T/go-build800209626=/tmp/go-build -gno-record-gcc-switches -fno-common"

And..
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ndavies/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ndavies/dev/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build955487558=/tmp/go-build -gno-record-gcc-switches"

What did you do?
https://play.golang.org/p/LSBliQAmXLc
What did you expect to see?
I would expect the URL to not have the trailing =
What did you see instead?
There is a trailing =
This of course may be down to the owner of the site in question (anonymised in the playground) not having a fully valid URL - a query string key with no value. Though from my reading of https://tools.ietf.org/html/rfc3986#section-3.4 that seems valid if a little unconventional

@bradfitz  Values assumes you always have a value associated with every key. Values also allow you to have multiple keys, yet that would seem invalid for this case.
A bool could live on the Values to enforce the single key as the only allowable item. Query/ParseQuery could detect the lack of the = and set the bool.
Of course, this would be a breaking change unless there is something else you were thinking of.

Yeah, that'd only work for the case where it's purely the old-style <isindex> query style without any = or &.
I think this should just be put on hold until the package/type is redesigned.
At least the URL itself round-trips: https://play.golang.org/p/mlPt1b2Q6J7 ... It's only the url.Values map that doesn't.

Looks like bug is from func (v Values) Encode() string, @nathj07 use it for building URL with params.
https://github.com/golang/go/blob/master/src/net/url/url.go#L925-L927
			buf.WriteString(keyEscaped)
			buf.WriteByte('=') // <<-- need add only in case non empty v
			buf.WriteString(QueryEscape(v))

But the function is used for building POST form and GET query.
It is correct for POST form but not so good for HTTP url query

The playground example is setting
u.RawQuery = params.Encode()

If you don't want a trailing =, you can remove it before assigning to u.RawQuery. Part of the reason for having the RawQuery field at all is so that users have complete control over the exact spelling of the query string.
The objection might be that params.Encode chooses to always use an = for empty values, but I don't believe that's something we would be wise to change at this point. It's easy to call a different function that behaves the way you want - package net/url is not forcing the use of this particular encoder. I don't think there's much we can do here (short of adding a second encoder entry point, which seems a bit overkill).


Tests fail with "Angular could not be found on the page" error

Hi,
I downloaded master, did npm install and then npm test, but the tests fail with the error below. The webdriver server is up and running and it does load the page and produce the axe results afterwards, but the test still fails.
Any thoughts on what i'm doing wrong?
Thanks!
Failures:
1) check if accessibility plugin works on bad apps should have accessibility problems on markup
  Message:
    Failed: Angular could not be found on the page http://localhost:8081/badMarkup.html. If this is not an Angular application, you may need to turn off waiting for Angular. Please see https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
  Stack:
    Error: Angular could not be found on the page http://localhost:8081/badMarkup.html. If this is not an Angular application, you may need to turn off waiting for Angular. Please see https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
        at /Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/protractor/built/browser.js:506:23
        at ManagedPromise.invokeCallback_ (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/selenium-webdriver/lib/promise.js:1379:14)
        at TaskQueue.execute_ (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/selenium-webdriver/lib/promise.js:2896:21)
        at asyncRun (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/selenium-webdriver/lib/promise.js:2775:27)
        at /Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/selenium-webdriver/lib/promise.js:639:7
        at process._tickCallback (internal/process/next_tick.js:103:7)
    From: Task: Run it("should have accessibility problems on markup") in control flow
        at Object.<anonymous> (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/node_modules/jasminewd2/index.js:79:14)
    From asynchronous test:
    Error
        at Suite.<anonymous> (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/spec/fail_spec.js:2:3)
        at Object.<anonymous> (/Users/sms/Development/vagrant/repositories/components/protractor-accessibility-plugin/spec/fail_spec.js:1:1)
        at Module._compile (module.js:571:32)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)

1 spec, 1 failure
Finished in 10.381 seconds

Apologies, I hadn't started httpster. Doh!


[Race] Ability Scores

[ ] Humans should get +1 to every ability score and no special trait (Civil Militia and increased weight w/e that's called)
[ ] Try to implement Variant Human - again. +1 to 2 and start with feat
[ ] Mountain Dwarves should get +2/+2 instead of +2/+1
[ ] Half-Elves should get +2/+1/+1 (not sure if that's possible, though)

Variant Human: I tried to add a feat at level 1 or 2, but it doesn't work for some reason, I can't make race progression working. I was thinking of giving them +1 +1 +2 (the last one would be ASI feat).
For other races, I'm a heavy defender of racial ASI. Larian homebrew might give more diversity, but seeing a dwarf with 17 charisma kills me. If you follow that road, Half Elf is doable, with +2 in charisma and +1/+1.
https://summoninggrounds.com/5e-racial-stat-bonus-chart/

I've tried implementing Variant Human in the past, but adding a feat selection to a race didn't seem to work the same it does for classes. Plus, Variant Humans are explicitly forbidden from taking the +2 ASI as their lvl 1 extra feat, so that's not RAW


Display referenced resources

As a user I want the care plan app to display referenced resources so I can see how the resource in context is linked by reference to other resources.

Need to figure out which resources and how to display them.

Closing this backlog issue.  Too general in scope.  Will address in more specific stories, e.g. for Goal, Condition, etc.


version 1.5.5 and 1.5.6 doesn't run properly on High Sierra.

Hi,
I have upgrade the mac to High Sierra.  AsciidocFX starts, prompts to connect to the internet, it shows the icon on the dock that is running but the edit screen doesn't appear.  Ideas for fix this?
Here is the error I'm seeing:
 ============================================================
 :: Asciidoc FX ::     (v1.5.6)

 Website: http://asciidocfx.com

2934 [Thread-5] ERROR com.kodedu.boot.AppStarter - Problem occured while starting AsciidocFX
javafx.fxml.LoadException:
unknown path:9

	at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
	at com.kodedu.boot.AppStarter.startApp(AppStarter.java:94)
	at com.kodedu.boot.AppStarter.lambda$start$0(AppStarter.java:73)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.terminalfx.FXMLController' available
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1090)
	at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:929)
	at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
	at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
	at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
	at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
	... 4 common frames omitted

Here is my environment:
$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

Mac High Sierra 10.13 with latest update on it.
Scott

I have the same issue. Please help 😭
Here is my environment:
$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Thank you so much !

The same problem。
device info:
MacBook Pro (Retina, 13-inch, Early 2015)

java info:
java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

I this application supported anymore?   I thinking after waiting this long and others seeing the same issue that I'm going to find another "similar" program to support my writing efforts in asciidoc.  The online asciidoc editor isn't that robust, atom support of a asciidoc preview screen doesn't support some of the options in asciidoc.   I'm looking other like textmate, slime, etc to see if they have a robust preview screen.   This is a shame because it's been great to use.

I don't have a Mac sorry. I'm starting a new job and don't have time at this moment. It is an open-source software and if you find any solution please send a pull request.

@ozlerhakan do you use  High Sierra?

Do you get any exception? Was it working in the older release of OS?

Was it working correctly in the older version?

I'm not high enough to use it asdnsaasd, btw no @rahmanusta

Does it require a spesific hardware @ozlerhakan

I use macOS Sierra and I am able to upgrade to high sierra without any other required hardware.

Is there a fix for this issue on high Sierra? I have two computers one running Sierra which works fine and the other running high Sierra and the editor does not load up just get the icon in the dock and an asciidocfx menu with nothing in it

Hi,
I have the jdk on my computer but not really a java developer.
I am happy to download netbeans or eclipse and run the program from source to see if I can narrow down the problem.
Anthony
On 3 November 2017 4:23:40 am AEST, Rahman Usta<EMAIL_ADDRESS>wrote:

@anthonyirwin82 Actually I don't have a mac to test it but do you get
any exception or error when you run it. If you are a developer, you can
run AsciidocFX with an IDE and we may see exceptions etc.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/asciidocfx/AsciidocFX/issues/329#issuecomment-341514972

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Ok below is what I have done.
MacOS 10.13
Java 1.8.0_152 from Oracle
Maven installed with the home brew package manager: Apache Maven 3.5.2
AsciiDocFX 1.5.6 from GitHub source zip file download
~/Downloads/AsciidocFX-master $ mvn clean install
~/Downloads/AsciidocFX-master/target/appassembler/bin $ sh asciidocfx
:: Asciidoc FX ::     (v1.5.6)
Website: http://asciidocfx.com
5507 [Thread-5] ERROR com.kodedu.boot.AppStarter - Problem occured while starting AsciidocFX
javafx.fxml.LoadException:
unknown path:9
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at com.kodedu.boot.AppStarter.startApp(AppStarter.java:94)
at com.kodedu.boot.AppStarter.lambda$start$0(AppStarter.java:73)
at java.lang.Thread.run(Thread.java:748)

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.terminalfx.FXMLController' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1090)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:929)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
... 4 common frames omitted
Like I said I am not a java developer so can't really do much else then what I just did. Let me know if it's helpful or if you want me to try something else.
Regards,
Anthony

Could you please try this draft https://github.com/asciidocfx/AsciidocFX/releases/tag/untagged-c8009136cc7a558cc839

@rahmanusta, I tried to click the link of the draft above, and it comes up with a 404.  Did you open it up for collabration?

@nebrass Ahh sorry, can you access it right now?
https://github.com/asciidocfx/AsciidocFX/releases/tag/V1.5.7

Just ran 1.5.7 on MacOS 10.13.1 and it is loading up fine. Thanks for the fix.

@rahmanusta It's working 100% ! Thank you for the fix !!

Thank you guys @nebrass @anthonyirwin82 @gearboxscott . You can use this version safely, I will release this in the following days.


make pair its own sequence type rather than a predicate class

Being a pair, which is this:
PREDICATE: pair < array length 2 number=

Should prevent the bounds checking here:
IN: scratchpad [ { pair } declare first2 ] optimized.
[
    1 swap 2dup 1 slot fixnum< [ \ t ] [ f ] if
    [ nip ] [ bounds-error ] if dup >R >R R> 2 slot
    R> >R R> 3 slot
]

See #680 for some code to make pair its own thing.

It looks like adding just M: pair length 2 ; inline from #660 works. With it:
[ { pair } declare first2 ] optimized.
[ dup >R >R R> 2 slot R> >R R> 3 slot ]


add drafts of project statement and report

TODO: split lines in project statement for readability

TODO: address project statement feedback

=1 @browtayl please merge into master.
BTW, I would suggest that for documentation we take a look at using sphinx as we can export to PD


tag incremental versions

While developing this project, tags can be applied at certain key points of development, such as initial working prototype of simple example, first IOC, ...
Use semantic versioning where each of the re-release tags would be minor increments: 0.1.0, 0.2.0, ...

Look at the closed issues to decide which commits should be tagged.

In the end, looked at the commit history using gitk.
git tag -m "proof of example" 0.0.1 c92ab44
git tag -m "initial custom code" 0.0.2 edb873e
git tag -m "EPICS client version" 0.0.3 96573d7
git tag -m "statistics" 0.0.4 1579f24
git tag -m "restart" 0.1.0 63f3153
git tag -m "add caproto IOC" 0.1.1 cfa17ad3
git tag -m "analyze signal trends" 0.1.2 77df536
git tag -m "use older DHT API" 0.2.0 a960b4a


refactor: refactor bad smell ProtectedMemberInFinalClass

Repairing Code Style Issues

ProtectedMemberInFinalClass
Since final classes cannot be inherited, marking a member as protected may be confusing. It is better to declare such members as private or package-visible instead.

Repairing Code Style Issues

ProtectedMemberInFinalClass (2)

Maybe. But opening up their visibility?

You mean converting them to public? The protected modifier currently does nothing, as these classes are final.


oo-testing: opt out building index image

Require https://github.com/openshift/ci-tools/pull/3327
/hold

It seems that the steps are smart enough to skip the index build if it is not needed.
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_release/37236/rehearse-37236-pull-ci-rh-ecosystem-edge-kernel-module-management-main-e2e-in-cluster-build/1635371934931750912
We do not need this at all.

/hold cancel


remove edit button on mobile

When you are on mobile, I think it's fair you cannot edit the dashboard.
Let me know what you think about :)
It's part of the issue #643
Signed-off-by: Augustin Husson<EMAIL_ADDRESS>

Thank you for your review and thoughts @cndonovan @eunicorn !

maybe instead of completely removing the edit button, we should disable it and have a tooltip that tells users that we do not support edit mode for mobiles

Actually, it was convenient for me to entirely remove it because then the header has more space. See the screenshot in #643.

At some point, I could see us having a "long-term vision" discussion to clarify: do we believe we will always disable editing on mobile? or, do we believe we will make it possible to edit on mobile someday (or maybe make it possible for other developers to do it if they want to)?

Of course we can have and probably we should have this long-term vision discussion ! There is maybe more to say than just do we enable the edit functionality on mobile.

But personally I think it makes sense to disable it for now... and maybe never enable it :)

Totally agree with you !
My vision around this topic is: If you are going to use Perses on your mobile, it's certainly during an incident, someone shared a dashboard and you want to look at it quickly. So you are not in the mood to edit it. If you want to edit it, you would be much more confortable to do it on a large screen !


Regenerate with latest gir / gir-files

The CI seems to be good, you can now update gir & remove the macro


Сreated calculate percentage function and tests for it

name: solution review
about: A template PR for code review with a checklist

Behavior
Files

[ ] The file name describes the function's behavior
[ ] There is a module docstring in the function file
[ ] The test file's name matches the function file name -
/tests/test_file_name.py
[ ] There is a module docstring in the tests file

Unit Tests

[ ] The test class has a helpful name in PascalCase
[ ] The test class has a docstring
Every unit test has

[ ] A helpful name
[ ] A clear docstring
[ ] Only one assertion
[ ] There is no logic in the unit test

[ ] All tests pass
[ ] There are tests for defensive assertions
[ ] There are tests for boundary cases

Function Docstring

[ ] The function's behavior is described
The function's arguments are described:

[ ] Type
[ ] Purpose
[ ] Other assumptions (eg. if it's a number, what's the expected range?)

The return value is described

[ ] Type
[ ] Other assumptions are documented

The defensive assertions are documented using Raises:

[ ] Each assumption about an argument is checked with an assertion
[ ] Each assertion checks for only one assumption about the argument

[ ] Include 3 or more (passing!) doctests

The Function

[ ] The function's name describes it's behavior
[ ] The function's name matches the file name
[ ] The function has correct type annotations

Strategy
Do's

[ ] Variable names help to understand the strategy
[ ] Any comments are clear and describe the strategy
[ ] Lines of code are spaced to help show different stages of the strategy

Don'ts

[ ] The function's strategy is not described in the documentation
[ ] Comments explain the strategy, not the implementation
[ ] The function does not have more comments than code

If it does, consider finding a new strategy or a simpler implementation

Implementation

[ ] The code passes the formatting checks
[ ] The code passes all Ruff linting checks
[ ] The code has no (reasonable) Pylint errors

In code review, you can decide when fixing a Pylint error is helpful and
when it's too restricting.

[ ] Variables are named with snake_case
[ ] Variable names are clear and helpful
[ ] The code follows the strategy as simply as possible
[ ] The implementation is as simple as possible given the strategy
[ ] The code includes defensive assertions
[ ] Defensive assertions include as little logic as possible

Hey Yevheniia, nice job! I can’t merge the pull request because some checks didn’t pass.

@abeddost  Thank you so much for your review! I will work on addressing the CI checks and incorporating your suggestions, as I really liked them! I’ll let you know as soon as I submit any changes.

 Glad you found the suggestions helpful.

Hi @abeddost, I resolved all CI check issues! The main problem was with ruff formatting. After reinstalling ruff and running the ruff format command, everything worked.
The second issue was with function names. After the last review, I updated the function names using the UI but forgot to update them throughout the code. Once I caught and fixed all instances, I passed all checks successfully.


Add lib to gitignore

Description of Issue
A common pattern for npm modules is to add the lib(es5) directory to the .gitignore and add the src(es6) directory to the .npmignore. Babel is an example of this pattern that also uses lerna.
More information can be found in this article:
http://jamesknelson.com/writing-npm-packages-with-es6-using-the-babel-6-cli/
To Do:

[x] Update the .gitignore to no longer check in the lib directory.
[x] We can probably remove the prepush script after this is completed.
[x] Compile for travis CI tests
[ ] Add script which compiles before publishing https://github.com/cerner/terra-core/issues/353

Reference: https://github.com/cerner/terra-core/issues/316

https://github.com/cerner/terra-core/issues/78

This branch addresses tasks 1-3.
Task 4 is blocked on this issue: https://github.com/cerner/terra-clinical/issues/54.

Task 4 is blocked on this issue: https://github.com/cerner/terra-clinical/issues/54.

https://github.com/cerner/terra-core/pull/414

Issue #54 has been resolved with PR #75. Task 4 is complete.


Should mana_rewards be mandatory in semantic validation?

To allow validation of everything apart from the mana if the rewards are not known
Might can do it in a smart way and only ignore if the tx could actually have staking or delegation rewards

Closed by https://github.com/iotaledger/iota-sdk/pull/2092


Npm install failure on Ubuntu EC2 instance

Expected behavior
NPM install succeeds
Actual behavior
NPM install fails
Steps to reproduce
Deploying a react project with date-fns dependency on Ubuntu EC2 instance throws an exception:
root@ip-172-31-55-213:~/www/~proj/web# npm install react-datepicker

><EMAIL_ADDRESS>postinstall /root/www/~proj/web/node_modules/react-datepicker/node_modules/date-fns
> node ./docs/printV2Notice.js

module.js:549
    throw err;
    ^

Error: Cannot find module '/root/www/~proj/web/node_modules/react-datepicker/node_modules/date-fns/docs/printV2Notice.js'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3

I have:
rm -rf node_modules
Redo npm install
uninstall and reinstall react-datepicker
However I did manage to fix it, I had to sudo npm install in order to get passed it. However, this isn't a problem in any other dependency I have in any other projects.


Verify generated code are good for existing RPs with TypeSpec

No compilation issues, mvn verify works, live test can pass for list operation, etc.
Verification steps:

Clone azure-rest-api-specs repo
Add java specific configs in tspconfig.yaml in local azure-rest-api-specs repo, e.g. https://github.com/XiaofeiCao/azure-rest-api-specs/blob/mpg_fluentgen/specification/sphere/Sphere.Management/tspconfig.yaml (notice the added "service-dir", "emit" and "@azure-tools/typespec-java" options)
Under azure-sdk-for-java repo root, run pwsh eng/common/scripts/TypeSpec-Project-Process.ps1 <path-to-local-tsp-file-folder>
e.g. pwsh eng/common/scripts/TypeSpec-Project-Process.ps1 ../azure-rest-api-specs/specification/communitytraining/Community.Management
, verify generation process
Under generated SDK repo folder, run
a. mvn install -f <path-to-sdk-repo>/eng/code-quality-reports/pom.xml
b. mvn verify -f <path-to-generated-sdk-pom>/pom.xml "-Dcodesnippet.skip"
Add live test for list operation and run, verify test pass.
(Optional) api-view diff check for existing SDKs generated with Swagger.

### Tasks
- [x] azurelargeinstance - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/azurelargeinstance/AzureLargeInstance.Management
- [x] communitytraining - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/communitytraining/Community.Management
- [ ] containerservicefleet - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/Fleet.Management
- [ ] containerstorage - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerstorage/ContainerStorage.Management
- [ ] devopsinfrastructure - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure
- [ ] iotoperationsdataprocessor - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management
- [ ] iotoperationsmq - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/iotoperationsmq/IoTOperationsMQ.Management
- [ ] iotoperationsorchestrator - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management
- [ ] liftrastronomer - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/liftrastronomer/Astronomer.Astro.Management
- [ ] liftrqumulo - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/liftrqumulo/Qumulo.Management
- [ ] mpcnetworkfunction - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/mpcnetworkfunction/MpcNetworkFunction.Management
- [ ] networkanalytics - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/networkanalytics/NetworkAnalytics.Management
- [ ] newrelic - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/newrelic/NewRelic.Management
- [ ] playwrighttesting - https://github.com/Azure/azure-rest-api-specs/tree/main/specification/playwrighttesting/PlaywrightTesting.Management

Network Analytics:

https://github.com/Azure/autorest.java/issues/2549
https://github.com/Azure/autorest.java/issues/2548

ContainerServiceFleet:

https://github.com/Azure/autorest.java/issues/2633
https://github.com/Azure/autorest.java/issues/2620

A minor diff of DGP emitter is that it does not distinguish float32 and float64. It would always generate double.

DeviceRegistry:

https://github.com/Azure/autorest.java/issues/2688

devopsinfrastructure:

https://github.com/Azure/autorest.java/issues/2766
https://github.com/Azure/autorest.java/issues/2767


individual ID column is now optional

fixes #103
@thermokarst this seems to work (I can supply manual testing examples if needed) but I will need your review since I am really just taking to that vega spec like an amateur surgeon. 🔪🍝
Please let me know if there are additional tests needed — it looks like all the tests you put in previously are mostly "does it run" tests... I assume it would error if vega encountered an invalid spec. These changes do not really require any "input validation" type tests.

note: looks like these changes cause line plots to be displayed, but not individual points colored by group.

thanks @thermokarst ! I have modified 2 tests to confirm that the spaghetti maker is working as intended when individual id column is (not) passed! Let me know if you had something else in mind.


Remove runtime code paths for big endian machines

The binary footprint of TFLM has been creeping up and we are in a phase where we would like to reduce that and push functionality into offline pre-processing or brnaches that can be pruned by the compiler/linker.
One such example is big endian support.
https://github.com/tensorflow/tflite-micro/blob/9d1f67e41aadfa55ac6b8bbf6038402ce22ee1e8/tensorflow/lite/micro/micro_allocator.cc#L369-L390
The recommendation for TFLM users that would like big endian support is to have a pre-processing tool that converts the flatbuffer to have the same endianess as the target platform.
We would be happy to discuss alternate strategies if this suggestion is not going to work in practice. However, we would like to have users not rely on the current way of supporting big-endian.

tagging @kun-lu20 and @skribm9

In addition to impact on the TFLM footprint (which we need some testing to validate if indeed there is any), there is also an impact on readability and maintainability of the code.
For example, if we go down the path of https://github.com/tensorflow/tflite-micro/issues/456 then we risk introducing a fair amount of complexity.

Following this, is there any guidelines to run the TFLM examples on big endian devices ?

I would be interested into working on that, but I still have some concerns.
I see how to make a tool that would byte swap the buffers inside the model. That could be done with something similar to randomize_weights.py. It could open the .tflite, loop through the buffers and byte swap them as needed according to the TensorType, and then write the new .tflite using the flatbuffer_utils functions.
But, if the support for big endian is removed from tflm, does it means that the tool would also need to swap all the other values, such as indices or lengths, and other parameters that are written as int32 ? If so, I don't see how it could be made easily. For example, model_object.Pack(builder) would generate indices, which would not have been byte swapped.
Any thoughts on that ? Thanks

@mariannems Is there a solution to the issue you raised? I'm working on a big endian machine, used the functions in flatbuffer_utils.py to convert the model, but it seems like some of the indices in the model weren't converted causing asserts to trigger. Maybe I'm missing something simple.

@joshortner Probably the code changes in PR https://github.com/tensorflow/tensorflow/pull/60190 would be helpful.

@mariannems Thanks! It seems like the python scripts only byte swaps part of the model buffer. When loading the model on the MCU I'm seeing huge indices that are a result of an integer not being swapped. If you haven't seen the same issues, maybe it's a bug or misuse on my end.

@joshortner If ever this can be of any help, here is the script we are using https://github.com/mariannems/tflite-micro/blob/5659d43c8256b87f81c14f39ee4e872b746dc416/tensorflow/lite/tools/flatbuffers_endianness.py


STP has support for Shared Workers

Safari Technology Preview has support for Shared Workers.
https://webkit.org/blog/12522/release-notes-for-safari-technology-preview-142/
It's shipping in Safari 16, so it's definitely already in STP.
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes

Duplicate of #6291 0:-)
But hooray of course! :)

Oooops sorry!


[multi-module] Create parent pom

Closing this in favor of https://github.com/tipsy/javalin/pull/842


Refs #34118 -- Used Python 3.12 for GitHub actions.

https://www.python.org/downloads/release/python-3120/

/.github/workflows/tests.yml#52 and /.github/workflows/schedule_tests.yml#48 have outdated node-version: (14 and 16 used, both EOLed)

/.github/workflows/tests.yml#52 and /.github/workflows/schedule_tests.yml#48 have outdated node-version: (14 and 16 used, both EOLed)

This is unrelated to bumping Python version and should be handled separately.

Waiting for a new  aiohttp release.

aiohttp 3.9.0 has been released :tada: We can finally use Python 3.12.

@sarahboyce Thanks for checking :+1:


Can't use Variables

Challenge store-data-with-sass-variables has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Learn Sass

Some random title

This is a paragraph with some random text in it

Header #2

Here is some more random text.

Here is another header

Even more random text within a paragraph

This does not work

@ElChepa closing in favor of earlier issue of the same issue https://github.com/freeCodeCamp/freeCodeCamp/issues/14500. Happy coding!


Skip video generation if the test is skipped

I think it would make sense to not generate the video if the test is skipped.
Currently it will generate the videos for all tests even for those that it skipped

Good idea! :smiley: An investigation is needed in order to know if Cypress exposes a method for stopping the video recording.

is this related to why there might be a 2 second or so delay as each test is skipped?

Hi @jpike88, I suppose it might be related if you have video recording enabled. I haven't noticed such delay without enabling video recording.


Disallow multiple decimalSeparators

For example:
$('#txtTesting').jStepper({minValue:0, maxValue:23, minLength:1}); // allows "1,1....2,1"
One idea is to only accept the first decimalSeparator.

Hi burnstek
Sorry for the very long time it has taken me to respond to your issue.
I am unsure what you want the plugin to do in this case. If I paste in "1,1....2,1" and try to step up or down, the intended effect occurs.
Can you please provide som more information about what you want the plugin to do?
Thanks in advance.

I would like to only have one put in, so if they try to type a second one, it gets stripped out, much like if they tried to put in an alpha character.


Delivery

What is your Quests version / build number (do not say "latest")?
3.6.8-b747
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
These might be considered 2 different problems.
#1 The player cannot deliver the items to the npc
#2 The player only has to deliver the items to 1 npc
The problem happens for the following;
#1
If a player has accepted 2 different quests, both needing the same items for different npcs
then the player can only give it to the npc, assigned to the quest which is first in the quests.yml list
quest 1; give 1 apple to B
quest 2; give 1 apple to A
Then they can only give their apple to B before they can give 1 to A. Because quest 1 is on the list before quest 2.
#2
If the player has to complete a stage of a quest, where they have to give 1 item type to multiple npcs, they only have to give it to 1 of those npcs in order to complete it for both;
give 1 apple to C
give 1 apple to D
Will make them only have to give 1 apple to either C or D, in order to complete the whole stage.
If applicable, can you provide an example quest from quests.yml using Pastebin.com?
This can be done at any time with any quest, and was also a problem from a version 3 years ago. (don't exactly remember which one possibly 2.5.6)

How is this different than #802?

#802 states that 1 npc with a designated item can accept completely different items that are assigned to other npcs within the same quest stage.

Although technically a different bug, this should be resolved by the fix for #802


[Core] Migrate ManagerInterface identifier and displayName to C++

For #292

Force-pushes up to here would have been avoided if we had #251 done :slightly_frowning_face:

@feltech feel free to squash and merge at your leisure.


Add experimental SIMD implementation of B-tree to round down dates

Description
In the date histogram aggregation, the timestamp value from each hit must be rounded down to the nearest interval (year, quarter, month, week, day, etc.) as defined in the search request. This rounded-down timestamp serves as the bucket key to aggregate results.
This PR aims to improve the performance of rounding-down dates using SIMD.
More details can be found here: https://github.com/opensearch-project/OpenSearch/issues/10392
Related Issues
Resolves #10392
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[ ] ~Public documentation issue/PR created~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@ketanv3 looks great, thank you! I have only last comment related to cleaning up the benchmarking part

@andrross Are you still looking at this PR?


Fix EN Local numbers to have valid area codes

https://callhippo.com/blog/general/us-phone-number-format-with-country-code

Faker.NET.Tests.Locales.GeneratePhoneNumber test has a typo as well


wrong permission after install

Hello so when i run script
./wireguard-install.sh
i have information that: You need to run this script as root
so i run script with sudo but after that client config was saved in /root directory not i /home and i can`t access to /etc/wireguard i must run chmod 755 after installation for /etc/wireguard and chmod 644 for files (wg0.conf and parms) and now i can go into /etc/wireguard and view or chagne settings in wg0.conf
i use your other script openvpn and there i dont have that issuse with client config file saved to /root directory and access to /etc/openvpn so i think this is little bug ?

client config was saved in /root directory not i /home

This should be changed. Thanks.

i can`t access to /etc/wireguard i must run chmod 755 after installation

@angristan set it to 600 in<PHONE_NUMBER>a9958df8254674a6eb4cad93c10a07. The configuration file /etc/wireguard/wg0.conf contains private keys so i think he is right to set it to 600. If you do ls -l /etc/openvpn you see that the certificate and the key files have the same 600 permissions, the difference with wireguard is that the keys aren't separate files but are saved in the config. This means that you need to be root to view and change wg0.conf, it's not a bug.