can't keyboard around settings

Issue Type: Bug

Try moving around settings with the keyboard.
Attempt to quickly jump from section to section.

Expected: This should be doable with the treeview.
Actual: Tab traps make this impossible, and moving around is non-trivial. the tree's children are whole sections which makes the role="tree" paradime break, because the treeitem role should not have children. Perhaps using a separate tree, or an accordian would be better here, depending on what's visible.
VS Code version: Code - Insiders 1.44.0-insider (0926b534553f3ff2f0cff0a741550a97df199706, 2020-03-23T08:40:59.737Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz (4 x 2904)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.84GB (8.59GB free)

Process Argv

Screen Reader
yes

VM
0%

Sorry, I'm not sure exactly what you are referring to, which tree/sections? This issue might be relevant if you are using a screenreader https://github.com/microsoft/vscode/issues/92488

I wasn't able to arrow between sections of settings on my work computer (I.E. from edit to workbench, etc. I am on my home machine. I am not sure why that was happening, perhaps I'll have to try again when I'm at work.

I cannot reproduce this again.


Remove Material 2 library

It dragged in BS like fragments and recyclerview which ain't nobody got time for.

Does NOT fix #33


feat(pisa-proxy, parser): add simd to upper char in lex.rs

Signed-off-by: xuanyuan300<EMAIL_ADDRESS>
What is changed and how it works?
What's Changed:

Use simd to implement the to_upper function, If cpu has sse2 feature, will be enabled  simd to_upper.
When sql ident is sample, this pr has the same performance.
When sql ident is complex, the sql ident length is grater then 16, the performance will be improved  by about 5%.

simd:
running 1 test
test tests::bench_simd_parser ... bench:       3,593 ns/iter (+/- 216)

no_simd:
running 1 test
test tests::bench_parser ... bench:       3,834 ns/iter (+/- 228)

This is no-doubt a important move for Pisanix.


feat: support new Braavos class hash when fetching

Support new Braavos class hash when fetching a Braavos account
Close #108

This would be quite useful to have it merged @xJonathanLEI


cannot turn off client cert auth in etcd using v0.5.2 and v3.1.10

I'm unable to access etcd via LoadBalancer after enabling tls. I thought this might be due to client-cert-auth=true flag  being set. So I tried to disable client auth but the flag is being ignored by etcd as they have logic in place that ignores flag if already set.
2017-09-19 20:01:52.520944 I | pkg/flags: recognized environment variable ETCD_CLIENT_CERT_AUTH, but unused: shadowed by corresponding flag
https://github.com/coreos/etcd/blob/f1509a102c192035a5467304b34f1226e100d88a/pkg/flags/flag.go#L119
if alreadySet[kv[0]] {
			// TODO: exit with error in v3.4
			plog.Warningf("recognized environment variable %s, but unused: shadowed by corresponding flag", kv[0])
			continue
		}
		if strings.HasPrefix(env, prefix+"_") {
			plog.Warningf("unrecognized environment variable %s", env)
		}

service.yaml
apiVersion: v1
kind: Service
metadata:
  name: {{ .Values.etcdCluster.name }}-client-service-lb
  labels:
    app: "{{ template "name" . }}"
    prometheus-app: "{{ template "name" . }}"
    dns: elb-route53
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
    dns.dev.io/domainName: {{ .Values.dns | quote }}
{{- if .Values.httpsEnable }}
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {{ .Values.awsCert | quote }}
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: 2379
{{- end }}
spec:
  selector:
#    app: etcd
    etcd_cluster: {{ .Values.etcdCluster.name }}
  ports:
  - name: client
    port: 2379
    targetPort: 2379
    protocol: TCP
  type: "LoadBalancer"

@raoofm
How does the deployment look like? Why do you want to turn off client-auth ? If this is valid case, we might be provide an option to disable client-auth.

How does the deployment look like?

I'm not sure what you need. Do you want me to paste the yaml files.

deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: {{ template "name" . }}
  labels:
    app: {{ template "name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
    operator: etcd
spec:
  replicas: {{ .Values.replicaCount }}
  template:
    metadata:
      labels:
        app: {{ template "name" . }}
        name: {{ template "name" . }}
        chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
        heritage: "{{ .Release.Service }}"
        release: "{{ .Release.Name }}"
        operator: etcd
    spec:
      containers:
      - name: {{ template "name" . }}
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        imagePullPolicy: "{{ .Values.image.pullPolicy }}"
        command:
        - "/usr/local/bin/etcd-operator"
        - "--pv-provisioner={{ .Values.etcdCluster.backup.provisioner }}"
        {{- range $key, $value := .Values.commandArgs }}
        - "--{{ $key }}={{ $value }}"
        {{- end }}
        env:
        - name: MY_POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        resources:
{{ toYaml .Values.resources | indent 10 }}
{{- if .Values.nodeSelector }}
      nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }}
{{- if .Values.rbacEnable }}
      serviceAccountName: {{ template "name" . }}
{{- end }}

Why do you want to turn off client-auth ?

@hongchaodeng As I need to talk to cluster from any machine using etcdctl or curl to add auth/kv

I mean if the etcd cluster is just being used for kubernetes then it makes sense to have only clients with proper certs to talk to it.
What if any microservice which doesn't have any certs but just needs to talk to the load balancer on https.

my setup is as described here

So by deployment I mean how do you use etcd cluster. From the context I saw that apps are talking to etcd cluster via a LB. Is it network (L4) load balancer, right?

What if any microservice which doesn't have any certs but just needs to talk to the load balancer on https.

Without certs, this will only provide transport security, not authenticity.
I don't know any use case for it.. Otherwise, "auto-tls" in etcd would also work and is much easier solution for no certs needed from users.

@hongchaodeng As I need to talk to cluster from any machine using etcdctl or curl to add auth/kv

@hongchaodeng how about the above use case, say for maintainence

From the context I saw that apps are talking to etcd cluster via a LB. Is it network (L4) load balancer, right?

Yes

Without certs, this will only provide transport security, not authenticity.

etcd has v3 auth to talk to for authentication.

i need a public facing aws load balancer for the apps to talk to etcd

Yeah. Your use case sounds good. I'm making sure it is clear here.
So you want to disable "client-cert-auth", right? Ref: etcd docs.
In your expected deployment, it has:

key, cert in etcd server
CA cert in etcd client. This actually confuses me. Because you already need to distribute CA cert, why not give key/cert anyway?

@hongchaodeng the problem is after creating the load balancer I'm unable to call the endpoint with curl or etcdctl (using the client certs that were generated for operator)
so the lb is a layer4 and it just forwards the tcp traffic
What is the intention here, the clients should call lb using http or https. That gets forwarded to etcd-dev-cluster-client-service-lb.etcd:2379 TCP
When I used etcdctl with etcd-dev-cluster-client-service-lb.etcd:2379 endpoint from the etcd-operator pod (using sh) then it worked but not publicly.

the clients should call lb using http or https

Did you add the LB domain name into the SAN of the cert? Check by:
openssl x509 -in <etcd-server.crt> -text -noout

The address that etcd client (e.g. etcdctl) talks to is checked against with the server cert's SAN.
ELB is L4. It wouldn't understand https, but just forward packets.

In your expected deployment, it has:
key, cert in etcd server
CA cert in etcd client. This actually confuses me. Because you already need to distribute CA cert, why not give key/cert anyway?

So if I understand correctly, you mean to distribute etcd-client-crt, etcd-client-key, etcd-client-ca (ref https://github.com/coreos/etcd-operator/blob/master/doc/user/cluster_tls.md#operatorsecret) to all the clients that need to talk to etcd
Thats what I tried so below works from a pod, when I sh into one of the etcd-cluster pods but not from outside
/usr/local/bin # etcdctl --endpoints=etcd-dev-cluster-0000.etcd-dev-cluster.etcd.svc:2379,etcd-dev-cluster-0001.etcd-dev-cluster.etcd.svc:2379,etcd-dev-cluster-0002.etcd-dev-cluster.etcd.svc:2379,etcd-dev-cluster-client-service-lb.etcd:2379,etcd-dev-cluster.etcd:2379,etcd-dev-cluster-client.etcd:2379  --cacert=/etc/etcdtls/operator/etcd-tls/etcd-client-ca.crt --cert=/etc/etcdtls/operator/etcd-tls/etcd-client.crt --key=/etc/etcdtls/operator/etcd-tls/etcd-client.key endpoint health
2017-09-19 18:25:24.613285 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
etcd-dev-cluster.etcd:2379 is healthy: successfully committed proposal: took = 18.906649ms
etcd-dev-cluster-client.etcd:2379 is healthy: successfully committed proposal: took = 115.415855ms
etcd-dev-cluster-0000.etcd-dev-cluster.etcd.svc:2379 is healthy: successfully committed proposal: took = 6.966288ms
etcd-dev-cluster-0002.etcd-dev-cluster.etcd.svc:2379 is healthy: successfully committed proposal: took = 7.30715ms
etcd-dev-cluster-0001.etcd-dev-cluster.etcd.svc:2379 is healthy: successfully committed proposal: took = 11.614153ms
etcd-dev-cluster-client-service-lb.etcd:2379 is healthy: successfully committed proposal: took = 1.79915ms
/usr/local/bin #

It doesn't work from outside when I run below
$ ./etcdctl --endpoints=ac28c1dc79d8511e7ba3b12a04e6fcc4-2119000283.us-east-1.elb.amazonaws.com:2379 --cacert=tls/client-ca.crt --cert=tls/client.crt --key=tls/client.key endpoint health
2017-09-19 22:22:10.478543 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
ac28c1dc79d8511e7ba3b12a04e6fcc4-2119000283.us-east-1.elb.amazonaws.com:2379 is unhealthy: failed to connect: grpc: timed out when dialing

--endpoints=ac28c1dc79d8511e7ba3b12a04e6fcc4-2119000283.us-east-1.elb.amazonaws.com:2379

So this is what I mean "the address etcd client talks to".
First it should be "https://". Second, is this address in the SAN of etcd server cert?

@hongchaodeng awesome. So as the lb name is dynamic, i created a rout53 entry for it and added the name to the SAN.
etcdctl worked fine
 ./etcdctl --endpoints=https://etcd.ctnrva0.dev.example.net:2379 --cacert=tls/client-ca.crt --cert=tls/client.crt --key=tls/client.key endpoint health
2017-09-19 22:38:40.411752 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
https://etcd.ctnrva0.dev.example.net:2379 is healthy: successfully committed proposal: took = 8.133843ms

:+1:
On a separate note, can you consider the usecase of disabling client-cert-auth? (In case anyone wants to configure it that way)

Well. It's easy to add new features but it's hard to maintain.  That's why we need to justify when we add new features.
I am not sure that disabling client auth would simplify things since CA cert still needs to be distributed. So that's like giving up a part of security but no gaining.. Maybe there are use cases I don't know. But so far that is not a wise choice.

And actually disabling client auth won't solve your precious problem.. this issue should be renamed to about TLS setting. One improvement would be that server side returns better message like your address is not in SAN.

I am not sure that disabling client auth would simplify things since CA cert still needs to be distributed.

I'm not sure if I understand this. If CA is trusted by everyone say Verisign/Digicert then why do we need to distribute anything. The tls would work as is without client cert auth. (Encrypted connection without auth, auth will be done by etcd v3 auth)

I see. We usually use self signed CA.
Just curious. Doesn't it have cost to get a domain name trusted by public CA like Verisign?
Why do you prefer that instead of self signed? Also what about certs for testing?

@hongchaodeng agree, I'm as well using self signed certs, I was just presenting a usecase.
In my case even though I'm using self signed, I can impose the CA to be copied to every machines trust store (/etc/ssl/certs/)
We can argue that the client certs can be copied over as well, but I want only the communication to be secure, I can be free to choose the auth channel or protection(clientCert/userPass/securityGroups/cors)

@hongchaodeng @xiang90 the other challenge that we face is if we share the same client cert with all the clients which as per example is carrying the CN as client. The v3 auth says that if client-cert-auth is enabled and client is presenting the cert then CN will be used as user and it needs no pass. But we want to configure role based access where each user has access to limited keys. If we use client-cert-auth then we need to generate certs for each user.

@raoofm
If you enable auth etcd operator will not work as today...
Health check will fail:
2m        2m        1         example-vault-etcd-0002   Pod       spec.containers{etcd}   Warning   Unhealthy   kubelet, ip-10-0-37-188.us-west-1.compute.internal   Liveness probe failed: 2017-09-20 20:07:02.139183 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
Error:  etcdserver: user name is empty

Auth support should be done first before addressing the CN name as user name issue.
ref: https://github.com/coreos/etcd-operator/issues/1051

@hongchaodeng I mentioned a comment here
I think both are very important features. v3 auth is a must to have and addressing the problem of CN as user, which should be optional.

@hongchaodeng The second issue of CN as user is fixed in etcd. After the disccusion etcd team agreed that user when passed in basic auth should take priority over CN as username. Check here https://github.com/coreos/etcd/issues/8584.
Now we just need to take care of enabling v3 auth as in https://github.com/coreos/etcd-operator/issues/1051

also the ability to turn of client-cert-auth remains open too along with enabling v3 auth

Part of the issue is resolved in etcd.
Let's handle the rest and converge it into https://github.com/coreos/etcd-operator/issues/1051

@hongchaodeng enabling v3 basic auth and option to disable client-cert-auth are two different issues.
I think #1416 and #1051 are two issues. Unless you want to copy this over there.

Yeah.. Sorry my mistake.

I have the same requirements, would like etcd-operator to use cert to do livenessprobe, and use user/pass auth for each clients, which means I don't want to set "client-cert-auth" to true so that I don't need to generate client certs for each client.

i also also had the need to disable client cert auth, and it seems like you actually have to unset these two options:
--trusted-ca-file
--client-cert-auth
just removing client-cert-auth is not enough, you have to also remove the trusted-ca-file option.


Interface to interact with bots

As a ‹role›, I'd like to ‹feature short description› [ , in order to ‹value it adds›. ]

:thought_balloon: Hints & Thoughts
:question: Additional Questions to Answer / Consider

:white_check_mark: Conditions of satisfaction

[ ] Should ‹testable condition that should be satisfied›
[ ] Should ‹testable condition that should be satisfied›
[ ] …

Many issues have been created, which define the creation of a welcome screen with all robots. Further interaction with the robots is not planned in the current project scope. Therefore, this issue is closed.


Automate testing an installed RPM.

Replaced by https://clusterhq.atlassian.net/browse/FLOC-143
We build an RPM, but we don't have any tests for it.

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-143. You are welcome to file additional issues in GitHub if that's easier for you.


[Feature] [Flink-K8s-V2] Refactor the lifecycle control of Flink session-mode jobs on Kubernetes

Refactor the lifecycle control of Flink session-mode jobs on Kubernetes

What changes were proposed in this pull request
Issue Number: close #2883

Brief change log

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
•
KubernetesNativeSessionClient.doSubmit 适配到 FlinkOperator.deploySessionJob;
•
KubernetesNativeSessionClient.doCancel 适配到  FlinkOperator.cancelJob，FlinkOperator.stopJob ;
•
KubernetesNativeSessionClient.doTriggerSavepoint 适配到 FlinkOperator.triggerJobSavepoint;
•
KubernetesNativeSessionClient.shutdown 适配到 FlinkK8sOperator.delete;
This change added tests and can be verified as follows:

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes / no)
no

cc @wolfboys


Optional question parameter permissive=True returning None

https://www.expectedparrot.com/content/0a35b6e2-40cf-4876-a9c0-acb4a2172eac

Let's disregard this - I don't think we want to add anything that would force the model to answer when instructions don't make sense.


How to change the load order (priority) of snippets from within the same snippet collection (friendly-snippets)?

Hello there. Hope you're doing well. Thank you for creating LuaSnip! It makes using snippets in nvim so much more convenient and customizable.
Scenario
I use friendly-snippets. In the jsx file, when I type map, the first option is from html (<map></map>), the second option is map iterator for js:
First option:

Second option:

I use the map iterator much more than the html tag, so I'm trying to change their order (priority) such that the js snippets come first than html snippets.
What I've tried

I looked into LOADERS. The option {override,default}_priority seems to only deal with the priority of multiple collections, not within the same collection.

Current workaround
I re-ordered the /.local/share/nvim/lazy/friendly-snippets/package.json such that js snippets load first.
From:
    "contributes": {
        "snippets": [
          { "language": [ "html", "javascriptreact"], "path": "./snippets/html.json" },
          { "language": [ "javascript", "javascriptreact"], "path": "./snippets/javascript/javascript.json" },

To:
    "contributes": {
        "snippets": [
          { "language": [ "javascript", "javascriptreact"], "path": "./snippets/javascript/javascript.json" },
          { "language": [ "html", "javascriptreact"], "path": "./snippets/html.json" },

But this changes the friendly-snippets src folder and will break any new updates.
Config
  -- Autocomplete engine
  {
    "hrsh7th/nvim-cmp",
    dependencies = {
      "hrsh7th/cmp-nvim-lsp",
      "hrsh7th/cmp-nvim-lua",
    },
  },

  -- snippets
  {
    "L3MON4D3/LuaSnip", -- snippet engine
    dependencies = {
      "rafamadriz/friendly-snippets",
      "saadparwaiz1/cmp_luasnip",
    },
  },

Any input is much appreciated. Thank you:)

Hi!
Custom priority is actually one of the few properties that can be set from within snipmate, see here

Ha, wait, wrong loader xD
But the vscode-loader also supports priority, here

Thank you for pointing me towards the right doc. Apologies that I didn't check the docs thoroughly enough.


micro_speech example works twice then crashes - ESP-WROOM-32 v1

I was able to upload the esp32 firmware binary file and get the firmware working in thonny with the board, then I tested the hello_world example successfully and moved on to the micro_speech. I tested the INMP441 with the i2s_dump.py first to ensure that the mic was working - and the output wav file was correct.
I tried testing the micro_speech example next, which works but after two runs it seems to reset, I've linked a screenshot below. I have tried some of the older firmware versions as well with the same exact issue.

Any ideas what could be causing this? It seems to function, as it does recognize my yes vs no before restart.

Also including the errors as text below.
interpreter_make_new: model size = 18712, tensor area = 8208
Starting
found - no at 0 seconds -> 1
Guru Meditation Error: Core  1 panic'ed (InstrFetchProhibited). Exception was unhandled.
Core  1 register dump:
PC      : 0x00000000  PS      : 0x00060d30  A0      : 0x800e2e79  A1      : 0x3ffce0c0
A2      : 0x3ffe3ecc  A3      : 0x3ffcd6c0  A4      : 0x00000003  A5      : 0x00000000
A6      : 0x00000000  A7      : 0x3ffda234  A8      : 0x800e23ad  A9      : 0x3ffce0a0
A10     : 0x3ffe3e6c  A11     : 0x3ffda234  A12     : 0x00000000  A13     : 0x3ffd92e4
A14     : 0x00000000  A15     : 0x0000001c  SAR     : 0x0000000b  EXCCAUSE: 0x00000014
EXCVADDR: 0x00000000  LBEG    : 0x400ffb34  LEND    : 0x400ffb53  LCOUNT  : 0x00000000
Backtrace:0xfffffffd:0x3ffce0c0 0x400e2e76:0x3ffce0f0 0x400d2f3a:0x3ffce110 0x400d2d5d:0x3ffce130 0x4014d145:0x3ffce150 0x401565f1:0x3ffce170 0x40084629:0x3ffce190 0x4014d252:0x3ffce230 0x401565ad:0x3ffce2a0 0x40084596:0x3ffce2c0 0x4014d252:0x3ffce360 0x40156619:0x3ffce390 0x40196eb3:0x3ffce3b0 0x401970dd:0x3ffce440 0x4016fd52:0x3ffce490
ELF file SHA256: 393445c5a3a3b1f3
Rebooting...
ets Jun  8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4604
ho 0 tail 12 room 4
load:0x40078000,len:13396
load:0x40080400,len:3312
entry 0x4008061c
interpreter_make_new: model size = 18712, tensor area = 8208
Starting
found - no at 0 seconds -> 1
found - yes at 0 seconds -> 2
Guru Meditation Error: Core  1 panic'ed (InstrFetchProhibited). Exception was unhandled.


Performance of report filters

I did some measurement on report filters. I have stored tinyxml with enable-all flag for ~850 times (589584 reports):

getRunResults

-- NEW QUERY
SELECT anon_1.bug_id AS anon_1_bug_id, anon_1.checker_id AS anon_1_checker_id, anon_1.checker_message AS anon_1_checker_message,
  anon_1.severity AS anon_1_severity, anon_1.file_id AS anon_1_file_id, anon_1.status AS anon_1_status,
  anon_1.message AS anon_1_message, anon_1.author AS anon_1_author, anon_1.date AS anon_1_date, files.filename AS filename
FROM (
  SELECT anon_2.bug_id AS bug_id, anon_2.checker_id AS checker_id, anon_2.checker_message AS checker_message,
    anon_2.severity AS severity, anon_2.file_id AS file_id, anon_2.status AS status,
    review_statuses.message AS message, review_statuses.author AS author, review_statuses.date AS date
  FROM (
    SELECT reports.bug_id AS bug_id,
      reports.checker_id AS checker_id,
      reports.checker_message AS checker_message,
      reports.severity AS severity,
      reports.file_id AS file_id,
      max(review_statuses.status) AS status
    FROM reports
    LEFT OUTER JOIN files ON reports.file_id = files.id
    LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
    GROUP BY reports.bug_id, reports.checker_id, reports.checker_message, reports.severity, reports.file_id
    LIMIT 500 OFFSET 0
  ) AS anon_2
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = anon_2.bug_id
) AS anon_1
LEFT OUTER JOIN files ON anon_1.file_id = files.id
ORDER BY anon_1.severity DESC

getRunReportCounts

-- NEW QUERY
SELECT runs.id AS runs_id, runs.name AS runs_name, count(DISTINCT reports.bug_id) AS count_1
FROM reports
LEFT OUTER JOIN files ON reports.file_id = files.id
LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
LEFT OUTER JOIN runs ON reports.run_id = runs.id
GROUP BY runs.id

getCheckerCounts

-- NEW QUERY
SELECT anon_1.checker_id AS anon_1_checker_id, max(anon_1.severity) AS max_1, count(anon_1.bug_id) AS count_1
FROM (
  SELECT max(reports.checker_id) AS checker_id, max(reports.severity) AS severity, reports.bug_id AS bug_id
  FROM reports
  LEFT OUTER JOIN files ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.bug_id
) AS anon_1
GROUP BY anon_1.checker_id

getSeverityCounts

-- NEW QUERY
SELECT anon_1.severity AS anon_1_severity, count(anon_1.bug_id) AS count_1
FROM (
  SELECT max(reports.severity) AS severity, reports.bug_id AS bug_id
  FROM reports
  LEFT OUTER JOIN files ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.bug_id
) AS anon_1
GROUP BY anon_1.severity

getCheckerMsgCounts

-- NEW QUERY
SELECT anon_1.checker_message AS anon_1_checker_message, count(anon_1.bug_id) AS count_1
FROM (
  SELECT max(reports.checker_message) AS checker_message, reports.bug_id AS bug_id
  FROM reports
  LEFT OUTER JOIN files ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.bug_id
) AS anon_1
GROUP BY anon_1.checker_message

getReviewStatusCounts

-- NEW QUERY
SELECT max(anon_1.bug_id) AS max_1, anon_1.status AS anon_1_status, count(anon_1.bug_id) AS count_1
FROM (
  SELECT reports.bug_id AS bug_id, max(review_statuses.status) AS status
  FROM reports
  LEFT OUTER JOIN files ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.bug_id
) AS anon_1
GROUP BY anon_1.status

getFileCounts

-- NEW QUERY
SELECT files.filepath AS files_filepath, anon_1.report_count AS anon_1_report_count
FROM files
JOIN (
  SELECT anon_2.file_id AS file_id, count(1) AS report_count
  FROM (
    SELECT reports.bug_id AS bug_id, reports.file_id AS file_id
    FROM reports
    LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
    GROUP BY reports.bug_id, reports.file_id
  ) AS anon_2
GROUP BY anon_2.file_id
) AS anon_1 ON anon_1.file_id = files.id

getRunHistoryTagCounts

-- NEW QUERY
SELECT anon_1.run_id AS anon_1_run_id, runs.name AS runs_name, run_histories.time AS run_histories_time,
  run_histories.version_tag AS run_histories_version_tag, anon_2.report_count AS anon_2_report_count
FROM (
  SELECT run_histories.run_id AS run_id, max(run_histories.id) AS run_history_id
  FROM run_histories
  WHERE run_histories.version_tag IS NOT NULL
  GROUP BY run_histories.run_id
) AS anon_1
LEFT OUTER JOIN run_histories ON run_histories.id = anon_1.run_history_id
LEFT OUTER JOIN runs ON runs.id = anon_1.run_id
LEFT OUTER JOIN (
  SELECT reports.run_id AS run_id, count(DISTINCT reports.bug_id) AS report_count
  FROM reports
  LEFT OUTER JOIN files ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.run_id
) AS anon_2 ON anon_2.run_id = run_histories.run_id
WHERE run_histories.version_tag IS NOT NULL

getFileCounts function uses the following query:
-- SQL query time: 13895ms
SELECT max(reports.id) AS max_1, files.filepath AS files_filepath, count(distinct reports.bug_id) AS count_1
FROM reports
LEFT OUTER JOIN files
  ON reports.file_id = files.id
LEFT OUTER JOIN review_statuses
  ON review_statuses.bug_hash = reports.bug_id
GROUP BY files.filepath

By replacing this query with the following one we can reach better performance:
-- SQL query time: 82ms
SELECT
  files.filepath,
  report_count.ct
FROM files
JOIN (
  SELECT distinct_reports.file_id, count(1) AS ct
  FROM(
    SELECT DISTINCT reports.bug_id, reports.file_id
    FROM reports
  ) as distinct_reports
  GROUP BY distinct_reports.file_id
) AS report_count
ON report_count.file_id = files.id
order by files.filepath

I get the same results for both query.

getRunResults with unique report filter:

Without index:

SELECT DISTINCT reports.bug_id AS reports_bug_id, reports.checker_id AS reports_checker_id,
  reports.checker_message AS reports_checker_message, reports.severity AS reports_severity,
  files.filename AS files_filename, review_statuses.bug_hash AS review_statuses_bug_hash,
  review_statuses.status AS review_statuses_status, review_statuses.author AS review_statuses_author,
  review_statuses.message AS review_statuses_message, review_statuses.date AS review_statuses_date
FROM reports
LEFT OUTER JOIN files
  ON reports.file_id = files.id
LEFT OUTER JOIN review_statuses
  ON review_statuses.bug_hash = reports.bug_id
ORDER BY reports.severity DESC, reports.bug_id, reports.checker_id, reports.checker_message, reports.severity, files.filename, review_statuses.status
LIMIT 500 OFFSET 0

Query time:
real	0m17.655s
user	0m0.301s
sys	0m0.044s

Creating an index on multiple column:

--- CREATE INDEX reports_filter_column_idx ON reports (bug_id , checker_id, checker_message, severity);

SELECT anon_1.bug_id AS anon_1_bug_id, anon_1.checker_id AS anon_1_checker_id, anon_1.checker_message AS anon_1_checker_message,
  anon_1.severity AS anon_1_severity, anon_1.filename AS anon_1_filename, anon_1.status AS anon_1_status,
  review_statuses.bug_hash AS review_statuses_bug_hash, review_statuses.status AS review_statuses_status,
  review_statuses.author AS review_statuses_author, review_statuses.message AS review_statuses_message,
  review_statuses.date AS review_statuses_date
FROM (
  SELECT reports.bug_id AS bug_id, reports.checker_id AS checker_id, reports.checker_message AS checker_message,
    reports.severity AS severity, max(files.filename) AS filename, max(review_statuses.status) AS status
  FROM reports
  LEFT OUTER JOIN files
    ON reports.file_id = files.id
  LEFT OUTER JOIN review_statuses
    ON review_statuses.bug_hash = reports.bug_id
  GROUP BY reports.bug_id, reports.checker_id, reports.checker_message, reports.severity
   LIMIT 500 OFFSET 0
) AS anon_1
LEFT OUTER JOIN review_statuses
  ON review_statuses.bug_hash = anon_1.bug_id
ORDER BY anon_1.severity DESC

Query time:
real	0m1.136s
user	0m0.283s
sys	0m0.039s
:exclamation: Note: if we would like to reach this speed, we have to create a filename column in the reports table and creating the following index:
CREATE INDEX reports_filter_column_idx ON reports (bug_id , checker_id, checker_message, severity, filename);

Instead of adding a filename column in the reports table could we try something else:

Add an index to the filename column of the File table.
Query the set of file ids based on the file name filter and run info
Use IN in the query instead of a join.

Compare old and new queries:

API function
Old query time
New query time

getRunResults
40.2880578041
0.826292991638

getRunReportCounts
1.64031505585
1.25441908836

getCheckerCounts
26.5518729687
1.41373920441

getSeverityCounts
12.2330861092
0.177959918976

getCheckerMsgCounts
27.8827631474
1.61748409271

getReviewStatusCounts
12.1167159081
0.204226016998

getFileCounts
33.2955338955
0.159147024155

getRunHistoryTagCounts
8.66810107231
0.305584192276

:exclamation: Note: to reach the upper performance for getRunResults we have to create the following index:
CREATE INDEX reports_filter_column_idx ON reports (
  bug_id , checker_id, checker_message, severity, file_id);

Measurement:

query without index: 33912ms
query with index: 688ms

We can also use the following query for getRunResults:
SELECT anon_1.bug_id AS anon_1_bug_id, anon_1.checker_id AS anon_1_checker_id, anon_1.checker_message AS anon_1_checker_message,
  anon_1.severity AS anon_1_severity, anon_1.file_id AS anon_1_file_id, anon_1.status AS anon_1_status,
  anon_1.message AS anon_1_message, anon_1.author AS anon_1_author, anon_1.date AS anon_1_date, files.filename AS filename
FROM (
  SELECT anon_2.bug_id AS bug_id, anon_2.checker_id AS checker_id, anon_2.checker_message AS checker_message,
    anon_2.severity AS severity, anon_2.file_id AS file_id, anon_2.status AS status,
    review_statuses.message AS message, review_statuses.author AS author, review_statuses.date AS date
  FROM (
    SELECT reports.bug_id AS bug_id,
      max(reports.checker_id) AS checker_id,
      max(reports.checker_message) AS checker_message,
      max(reports.severity) AS severity,
      max(reports.file_id) AS file_id,
      max(review_statuses.status) AS status
    FROM reports
    LEFT OUTER JOIN files ON reports.file_id = files.id
    LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
    GROUP BY reports.bug_id
    LIMIT 500 OFFSET 0
  ) AS anon_2
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = anon_2.bug_id
) AS anon_1
LEFT OUTER JOIN files ON anon_1.file_id = files.id
ORDER BY anon_1.severity DESC

Query time: 3020ms
:exclamation: Note:

the advantage of this query is that we don't need to create indexes.
the disadvantage is that we may loss information.

There are several queries which are just counting the number of certain reports. In these queries there are joined tables on files and others. I assume these joins are required because there may be a filtering condition which refers to these joined tables. Maybe it would be worth to check filter object first and skip the joins to which no filtering condition refers.

I've tried out some queries with and without the joins and the performance was the same.

Another solution:
Suppose we have found the same bug in different files:
aaa -> tinyxml1.cpp
aaa -> tinyxml2.cpp
It would be better to group by only by bug_hash and file_id columns and get the maximum of severity, checker id, checker message and review status columns:
SELECT anon_1.bug_id AS anon_1_bug_id, anon_1.checker_id AS anon_1_checker_id, anon_1.checker_message AS anon_1_checker_message,
  anon_1.severity AS anon_1_severity, anon_1.file_id AS anon_1_file_id, anon_1.status AS anon_1_status,
  anon_1.message AS anon_1_message, anon_1.author AS anon_1_author, anon_1.date AS anon_1_date, files.filename AS filename
FROM (
  SELECT anon_2.bug_id AS bug_id, anon_2.checker_id AS checker_id, anon_2.checker_message AS checker_message,
    anon_2.severity AS severity, anon_2.file_id AS file_id, anon_2.status AS status,
    review_statuses.message AS message, review_statuses.author AS author, review_statuses.date AS date
  FROM (
    SELECT reports.bug_id AS bug_id,
      max(reports.checker_id) AS checker_id,
      max(reports.checker_message) AS checker_message,
      max(reports.severity) AS severity,
      reports.file_id AS file_id,
      max(review_statuses.status) AS status
    FROM reports
    LEFT OUTER JOIN files ON reports.file_id = files.id
    LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = reports.bug_id
    GROUP BY reports.bug_id, reports.file_id
    LIMIT 500 OFFSET 0
  ) AS anon_2
  LEFT OUTER JOIN review_statuses ON review_statuses.bug_hash = anon_2.bug_id
) AS anon_1
LEFT OUTER JOIN files ON anon_1.file_id = files.id
ORDER BY anon_1.severity DESC

Query time: 3605ms
This way we don't lose so much information.

This has been fixed in the #1121 and #1094 pull requests.


Fix and move "Use this template" button

Before:

After:

Actually I think I will make this an icon button, there is not enough space in mobile layout otherwise.

… My only problem with this PR so far is that I don't understand what you mean with "fix".
It should have worked previously as well?

what you mean with "fix".

Look closely on the "Before": The button has wrong font and no margin. This is the "fix" part.

PR also includes gap properties ported from tailwind.

ping lg-tm bot


adding ingredients dynamically

I'm trying to make the dataset name a field of the config since I'm trying to train/eval my models across multiple datasets. This allows dynamically loading different datasets with different preprocessing configurations.
is there a clean way to do this ? as it seems I can't dynamically add ingredients to the experiment object inside a command ( after getting the config to determine which dataset to import)!

I think you could just use a normal dictionary with lists for datasets. You can then overwrite it dynamically with a config file.
Won't allow you reusing default values then what you could with ingredients, if I am not mistaken.
Something like this

{
  "datasets": [
        {
             "name": "1",
             "preprocessing": {}
        }
   ]
}

Otherwise checkout config_hook, that allows you manipulating the config and adding Ingredients before the experiment started.

I was thinking to make it more modular, like this:

I have multiple datasets, each will be an ingredient (with more complex configurations about preprocessing, data augmentation, etc.) with multiple sub-ingredients (such as pre-processors) that can be shared among datasets.
I have multiple models,  each will be an ingredient  (with more configuration of number of layers, drop-out, batch normalization, etc.)

The experiment will then through the config pick a dataset and a model and modify some of their default configuration for this particular experiment.
Thank you I'll check the config_hook to see if I can achieve clean structure with that.


FR:

Is Your Feature Request Related to a Problem? Please Describe.
I would like to add in custom auto-correct misspellings for things that might be specific to me (i.e. misspelling PowerShell as Powershell) but might be too frivolous to request adding to the main auto-correct map located here Auto-correct map.ts
Describe the Solution You'd Like
A new input box similar to "Ignore Words" in the Content tab which allows me to enter in custom autocorrect words.
I'd be happy with any format the devs choose, but I think using an array format like below makes most sense.
['Powershell'],['PowerShell'],
['diahorrea', 'diarrhea']

Please include an example where applicable:
Current example
You'll need: [A supported version of Windows](https://docs.chocolatey.org/en-us/chocolatey-components-dependencies-and-support-lifecycle#supported-windows-versions)
Powershell 2.0 or higher
	Powershell 3.0

Corrected example
You'll need: [A supported version of Windows](https://docs.chocolatey.org/en-us/chocolatey-components-dependencies-and-support-lifecycle#supported-windows-versions)
PowerShell 2.0 or higher
	PowerShell 3.0

Describe Alternatives You've Considered
I tried using the plugin Completr, but found it to be excessive for my needs.
Additional Context
I have included a mockup of the UI element for your consideration.

Hey @Skroderider , thanks for the suggestion. Is there a particular reason why Custom Regex Replacement would not work for what you are trying to do here?

Honestly had never occurred to me to use regex to fix spelling mistakes!
I can do that, no problems

I think however that this should be reconsidered, for several reasons:

Regex is comparatively more complicated, particularly to people who don't or rarely use it. It's not exactly a common thing once you step outside programming/coding.
Simplicity. Editing a textfile which is read into the map allows a user to keep simple replacements which are much easier to deal with without regex.

However, as I am not fluent in javascript-regex (JS is not my focus at all and time is all too short right now), I could not figure out how to do this myself to open up for PR. Instead, I have a small script which modifies the relevant line in the compiled js file installed:
}, We = class extends Wi { buildOption() { return new Vn(this.configKey, this.nameKey, this.descriptionKey, this.defaultValue) } }, cs = class extends Wi { buildOption() { return new is(this.configKey, this.nameKey, this.descriptionKey, this.defaultValue) } }; var sl = new Map([["magno", "mango"], ["qpcr", "qPCR"], ["pca", "PCA"], ["arbeit", "arbeit"], ["judsa", "Judas"], ["jdusa", "Judas"], ["madnatory", "mandatory"], ["uniformaly", "uniformly"],

where variable sl contains all custom word replacements. It prepends custom definitions to the beginning of the array, thus allowing me to sidestep the issue entirely.
The Hot Reload plugin then deals with reloading the plugin on the fly due to its filechange.

Hey @Gewerd-Strauss , it sounds like we may be talking past each other or I have poorly explained/documented how custom replace works. Custom replaced is designed for regex usage. However regex is not necessary. If you just use values as is (i.e. type in the find text as is and the replace text as is) then no regex knowledge is necessary.
It may make sense to add a checkbox for regular find and replace to make that the type for custome replace, but it will be case sensitive in that case.

I will quickly answer this in part because I am unfortunately extremely short on time and have no clue if I can answer over the coming week.

If you have an idea on how to avoid making the settings screen clunky while adding custom replace values, I can see this being possible.

One could simply ask for a user to supply a simple file containing needle/replace pairs. THat file could be part of the vault, or be located elsewhere on the computer. I have no experience writing this, but the Zotero integration has a file dialogue in its options (clicking on the folder-icon):

SUch a means (or heck, even a super simple input line to give a path to a txt-file to be read in at plugin startup) could be used to load pairs from a custom user-sided file - which then shouldn't be purged upon plugin changes/reinstalls/deinstalls/whatever.

If I were to use a file format, I would much prefer either YAML as the key value pairs or a table that has only two columns and has all | values present since that would make the most sense to me personally. I would really hate having to deal with JSON in a markdown file. So if I were to add a file to reference it would need likely use a table. That will be very hard to explain in the description so it would need to link out to the documentation website to handle the explanation of the expected file format.
But beyond that, if there is nothing wrong with that, I would be fine with proceeding with this.

Sounds good to me.

I am currently working on this feature. But it may take me a minute to get this ready and present. I want it to be able to have a popup that lets the user know the exact values and their replacements that were found in a file specified as well as a count of how many word replacements were found in the file. So far I have started the process of just getting the setting to show up in the UI even though it does not fit the normal kind of rule setting.

I did want to make sure I added some context here as well for how this rule worked since I looked at some of the comments here and I think there may be a slight misconception on how the rule works.
Earlier I saw that there was a reference to Powershell being a word to correct. That is fine so long as you want all spellings of powershell to get corrected and to follow the case of the original word found. As it stands right now, the auto-correct logic assumes that all words present can be either uppercase or lowercase. It will assume all initial text to search for is lowercase. The replaced value can have any casing, but the first letter's case is determined by the instance of the lowercase word found. So if you had the following with a replacement of powershell to PowerShell:
powershell is awesome!

you would get:
powerShell is awesome!

This by design at this time and there is no current functionality built in to handle casing (if casing is a deal breaker, custom replacement is the way to go at this time).
Will this be a problem or does that make sense?

Also, as an update, I have the ability to select a file and parse the tables present. Whitespace is trimmed, and the value to replace is lowercased. It currently only loads the value to replace when the Linter loads initially or when a change is made in the settings. This is not the most robust, but for an initially implementation, I think it can work. I would like to put it out as a BRAT release once I get a couple of other things ironed out. Any thoughts or suggestions so far based on what I have said here?

I can't think of any issue with this proposal right now, I will think a bit more about it over the day. So far, this sounds good.

I will definitely let you know here when I create something on BRAT.

I want to give an update on this. I am almost done with the PR that will add this to the Linter. I just need to fix one part of the logic which is preventing me from being able to generate the docs. Once that is done, I plan to verify that the new docs make sense and then will see about moving forward with a BRAT release. It may be late tonight before I get to finish this. But I hope to have it today if not in the next couple of days.

Some good news is that I figured out the issues with the docs and got it to a state I like the results in. So I plan to go ahead and merge the changes. I am first running some local tests, but should have the PR merged in the next 10 minutes barring an issue popping up.

I just went ahead and added the changes for this to a BRAT release. Please let us know if there are any issues @Gewerd-Strauss and @Skroderider .


Make integration tests independent of go version changes

What this PR does / why we need it:
With the new Dockerfile in place with #46  which builds the manager binary, the
binary does not have to be built upfront with the external golang
version. Instead the internal one can be used which makes for instance
integration jobs independent of the go versions installed there.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release notes:

NONE

/cc @cchengleo
/cc @nirarg
@nirarg once this PR is in, you also need to bump the golang version in the Dockerfile in PR #50: https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/blob/main/Dockerfile#L19
We are referencing the golang versions still in too  many places, but we will get to a more sane model :)

@nirarg once this PR is in, you also need to bump the golang version in the Dockerfile in PR #50: https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/blob/main/Dockerfile#L19
We are referencing the golang versions still in too many places, but we will get to a more sane model :)

I think later we should unify the default golang version for the repo.

/lgtm

@nirarg once this PR is in, you also need to bump the golang version in the Dockerfile in PR #50: https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/blob/main/Dockerfile#L19

Thanks @rmohr
I changed the version in my PR


[Question] What font is used in the screenshots?

Hey,
first of all great work!
I really like the font in the screenshots.
Could you please tell me which one it is?

Hey,
Thanks. It's RecursiveMono. You can find it here:
https://www.recursive.design/

@Mehdi-Hp thank you very much!
Really nice theme!
It is now my daily driver :)


unsupported protocol scheme "wakeup"

$ ./groku discover
Get wakeup: MAC=b8:3e:59:39:28:10;Timeout=10query/device-info: unsupported protocol scheme "wakeup"
$ ./groku list
Get wakeup: MAC=dc:3a:5e:17:97:99;Timeout=10query/device-info: unsupported protocol scheme "wakeup"
$

Adding fmt.Println("Location = ", location); after groko.go:279 produces Location =  WAKEUP: MAC=b8:3e:59:39:28:10;Timeout=10
So the service discovery isn't returning a Location header that's expected, apparently.

@rkeene It looks like they may have changed the response format from SSDP. Unfortunately I no longer have a roku, so I can't test this out with the latest firmware.
The raw response, should contain the address of the roku, so if you inspect that output, that should help you determine where the address is now.

hey @rkeene i finally got a new roku and fixed this issue in groku 0.4.1


WIP: Add component type to pkg

See issue https://github.com/anchore/syft/issues/2145
This PR is failing right now because adding a new field to Pkg recomputes packageIDs (I believe). If this PR were to be deemed appropriate, I would update all tests where needed. Looking for an approval first before I update all the tests.

Hey @noqcks, sorry for the delay getting back to you. I will see if we can get a review on this soon, if you are still interested in working on it. Much appreciated!

Yep, I am!


Client identity proof and automatic authorization request processing

A native (public) client uses the code flow to authenticate the user and get consent, using a local loopback response URL. The user clicks remember me and remember consent check boxes. Next time the client makes an authorization request, it will be granted without user interaction. But what if next time it is a rogue app that uses the same client ID, and thus gets an access_token for free.
OAuth 2.0 for Native Apps says:

"[...] the authorization server SHOULD NOT process authorization requests automatically without user consent or interaction, except when the identity of the client can be assured. [...] Measures such as claimed HTTPS redirects MAY be accepted by authorization servers as identity proof [...]"

After testing, looking through the source code and googling, I haven't found that IdentityServer4 would support the notion of proven client identity in this context, and it seems to me that the above described vulnerability applies.
I'm a newbie when it comes to security, so it might very well be possible that I'm overlooking something obvious, in which case I'm sorry to have bothered you. Otherwise, maybe it should be possible to mark some response URLs as safe in the client configuration, and only when such a safe URL is used would the login and/or consent pages be skipped?

Well - if you want that behavior - don't allow saving consent.

But that will force my legit app to always show the consent page as well.

Sure - there is no way to distinguish between "legit" apps - and spoofed ones.
A native app would typically use refresh tokens to keep the "session" alive - so no need to go back to the authorize endpoint.

This is a severe problem with apps on a user's device. OpenID is trying to address the issue with FAPI http://openid.net/wg/fapi/
But I am afraid that even it does not go far enough. As the current Facebook imbroglio shows, it is hard for a user to understand which apps are trustworthy, let alone some random web site.

Proof of possession is another avenue you could explore https://datatracker.ietf.org/doc/rfc7800/

All set on this issue -- can we close?


Vulnerability in grpc package dependency

A security vulnerability is recorded in the package grpc fore before 1.24.4 versions, and the latest version of azure-functions-core-tools (2.7.3188) is referencing 1.24.2
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7768
I am using node package and wondering if there is any workaround to address this.

@alrod - the work to update TypeScript version should come first since this gRPC update adds use of the "unknown" type

@alrod - the work to update TypeScript version should come first since this gRPC update adds use of the "unknown" type

We should do this for Functions 3.x. Investigate 2.x and fix, or advise to switch to v3.


Git - hide conflict icon when conflicts is resolved

Could you please provide repro steps and possible a recording (https://gifcap.dev) to investigate this issue? Thanks!

https://github.com/user-attachments/assets/3bd238c4-0ca3-4dff-980f-de45a8d052f1

@tjx666, thank you!

@tjx666, what is the output of git status after you have resolved the conflict?

@lszomoru

Thanks! the "Source Control" view is rendered based on the git status output and since git status still lists the resource with the "both modified" state, VS Code will render the ! decoration. Manually staging the file will update the resource and remove the ! decoration. Closing the issue as "by design".


Unhandled exception related to MDN integration

Try to build csswg-drafts/mediaqueries-5/Overview.bs
=> Everything is fine
Comment out Include MDN Panels: no and try again
=> bikeshed crashes, with the following traceback
WARNING: No 'media-descriptor-table' ID found. Update https://developer.mozilla.org/en-US/docs/Web/CSS/@media Specifications Table?
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/bikeshed", line 11, in <module>
    load_entry_point('bikeshed', 'console_scripts', 'bikeshed')()
  File "/Users/florian/src/bikeshed/bikeshed/cli.py", line 220, in main
    handleSpec(options, extras)
  File "/Users/florian/src/bikeshed/bikeshed/cli.py", line 256, in handleSpec
    doc.preprocess()
  File "/Users/florian/src/bikeshed/bikeshed/Spec.py", line 110, in preprocess
    self.processDocument()
  File "/Users/florian/src/bikeshed/bikeshed/Spec.py", line 204, in processDocument
    mdnspeclinks.addMdnPanels(self)
  File "/Users/florian/src/bikeshed/bikeshed/mdnspeclinks.py", line 35, in addMdnPanels
    panels = panelsFromData(doc, data)
  File "/Users/florian/src/bikeshed/bikeshed/mdnspeclinks.py", line 221, in panelsFromData
    if targetElement.getprevious() is not None \
AttributeError: 'NoneType' object has no attribute 'getprevious'

I’m looking into this right now

OK, https://github.com/tabatkins/bikeshed/pull/1732 has a fix.
Thanks for catching this.
To quote the description there about the cause:

The cause is that the processing of the MDN data is a place where the code uses two loops: an outer loop and an inner loop — and the code without this change was checking for the “No 'foo' ID found” within the inner loop, and doing a continue to the next iteration of the inner loop when an ID is not found. But the code needs to instead do the “No 'foo' ID found” check inside the outer loop, and continue to the next iteration of the outer loop when an ID is not found.

#1735 is a fix for the root problem that caused this bug to get hit. Quoting that issue description:

This change moves the code for generating the MDN panels until after all other code has run that adds any IDs/anchors in the output.
Otherwise, without this change, it’s possible that Bikeshed will fail to find an expected ID, and will emit a “WARNING: No 'foo' ID found” message and not generate an MDN panel at the expected place.
For example, see https://github.com/tabatkins/bikeshed/issues/1731, where the root cause of the bug was that the code for generating the MDN panels runs before the boilerplate.addPropertyIndex code — and so, the generated media-descriptor-table ID does not exist yet at the point where the code for generating the MDN panels is trying to find it.


glslify exports

Could break these up into separate files with glslify module exports (#pragma glslify: export(f)).
(Doing so on a fork for now.)

Feel free to make a PR! :)


Text is rendered thinner on web (canvaskit) compared to macos desktop

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Create a new Project with the following main.dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData.light(),
      home: const Scaffold(
        body: MyWidget(),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  const MyWidget({Key? key}) : super(key: key);

  Widget _fontAsset({
    required String text,
    required double fontSize,
    required FontWeight fontWeight,
    double? height,
    required Color color,
  }) =>
      Center(
        child: Container(
          decoration: BoxDecoration(border: Border.all(color: Colors.blue)),
          child: Text(
            text,
            style: TextStyle(
              fontFamily: 'IBM Plex Sans',
              fontSize: fontSize,
              fontWeight: fontWeight,
              height: height,
            ),
          ),
        ),
      );

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        //
        _fontAsset(
          text: "DRIVE SPEICHER",
          fontSize: 14,
          // height: 18 / 14,
          color: darkGrey1A,
          fontWeight: fontWeightRegular,
        ),
        _fontAsset(
          text: "10 GB von max. 1000 GB",
          fontSize: 12,
          // height: 15 / 12,
          color: darkGrey1A,
          fontWeight: fontWeightRegular,
        ),
      ],
    );
  }

  static const Color darkGrey1A = Color(0xFF1A1A1A);
  static const fontWeightRegular = FontWeight.w400;
}

Add fonts (can be downloaded here: https://fonts.google.com/specimen/IBM+Plex+Sans)
(Edit: for this example only the Regular file is actually needed)

Adjust pubspec.yaml by adding the fonts
flutter:
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #   - images/a_dot_burr.jpeg
  fonts:
    - family: IBM Plex Sans
      fonts:
        - asset: fonts/IBMPlexSans-Medium.ttf
          weight: 500
        - asset: fonts/IBMPlexSans-Regular.ttf
          weight: 400
        - asset: fonts/IBMPlexSans-Light.ttf
          weight: 300

Run both for web and macos and compare the appearance
Expected results
The fonts should look the same on web and macos desktop
Actual results
The fonts are rendered noticeably thinner on web than on macos desktop

It becomes even more obvious when layering both versions in gimp or photoshop:
https://github.com/flutter/flutter/assets/24209580/e660c475-60be-468d-8764-54ae75180e03
(In this video, the top layer is macos with the white background removed. the layer is turned on and off to compare with the web version below)

It is further notable, that the results on macos are closer to results expected when comparing to Adobe XD designs with the same font and text style
Code sample
See above
Screenshots or Video
See above
Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
$ flutter doctor -v
[✓] Flutter (Channel stable, 3.13.9, on macOS 13.4 22F66 darwin-arm64, locale en-DE)
    • Flutter version 3.13.9 on channel stable at /Users/gian/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (9 days ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/gian/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.82.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.76.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 119.0.6045.105

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Optionally you can also use the GoogleFonts package instead, the results are the same

Thanks for the report. Reproduced this issue on master channel as well.
Text is thinner in canvaskit and the issue doesn't appear in HTML renderer.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.13.9, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.13.9 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (11 days ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Users/huynq/Downloads/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.13.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio Giraffe.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.84.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.76.0

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.9 19H365
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 118.0.5993.117

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.17.0-1.0.pre.40, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.17.0-1.0.pre.40 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision aa82e222d3 (3 hours ago), 2023-11-05 19:59:32 -0500
    • Engine revision 555ffa17b5
    • Dart version 3.3.0 (build 3.3.0-97.0.dev)
    • DevTools version 2.29.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.13.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio Giraffe.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.84.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.76.0

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.9 19H365
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 118.0.5993.117

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

I've just encountered the same issue using Canvaskit, any update on this issue ?


Fix java jdk depends on

bump 1.8 to openjdk@8

Proposed changes

Homebrew formula depends_on :java => will not support 1.8 because of Oracle JDK license issue.
change depends of Java to OpenJDK@8 which is same as Oracle JDK 1.8

Types of changes

[x] Bugfix
[ ] New feature or enhancement
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES doc
[x] I have signed the CLA
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged and published in downstream modules

Related issues

#5

Further comments
Please maintain this homebrew formula.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Could you double check OpenJDK version is correct? I have no idea about which version - openjdk@10 or openjdk@8 - is compatible with caver-java.

@sirano11 Can you take a look at this PR?

hi, @benjioh5
I deleted caver-java and reinstalled it, but there was no warning message., I didn't reproduce this issue #5.
 Whether it is oracle jdk or openjdk, it seems to be correct to be able to use java8 or higher.
And I can't find notice that Homebrew will not support java 8 because of oracle license issue.  Can you give me a information about it?

Also, This is caver-java uninstall and reinstall log

brew uninstall caver-java
Uninstalling /usr/local/Cellar/caver-java/1.3.1... (4 files, 11.6MB)

brew install caver-java
==> Installing caver-java from klaytn/klaytn
==> Downloading https://github.com/klaytn/caver-java/releases/download/v1.3.1/caver-java.zip
Already downloaded: /Users/Library/Caches/Homebrew/downloads/dec44814c396626399cb032a2abcab6150aaeeea3b367fb7f833d6f1a16b7c4b--caver-java.zip
Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
softwareupdate --all --install --force
If that doesn't show you an update run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
Alternatively, manually download them from:
https://developer.apple.com/download/more/.
🍺  /usr/local/Cellar/caver-java/1.3.1: 4 files, 11.6MB, built in 2 seconds

In my mac, there are some warning messages on uninstallation & installation.
bash-3.2$ brew uninstall caver-java && brew install caver-java
Warning: Calling depends_on :java is deprecated! Use "depends_on "openjdk@11", "depends_on "openjdk@8" or "depends_on "openjdk" instead.
Please report this issue to the klaytn/klaytn tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
  /usr/local/Homebrew/Library/Taps/klaytn/homebrew-klaytn/Formula/caver-java.rb:7

Uninstalling /usr/local/Cellar/caver-java/1.3.1... (4 files, 11.6MB)
Warning: Calling depends_on :java is deprecated! Use "depends_on "openjdk@11", "depends_on "openjdk@8" or "depends_on "openjdk" instead.
Please report this issue to the klaytn/klaytn tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
  /usr/local/Homebrew/Library/Taps/klaytn/homebrew-klaytn/Formula/caver-java.rb:7

==> Installing caver-java from klaytn/klaytn
Warning: Calling depends_on :java is deprecated! Use depends_on "openjdk@11", depends_on "openjdk@8" or depends_on "openjdk" instead.
Warning: Calling depends_on :java is deprecated! Use depends_on "openjdk@11", depends_on "openjdk@8" or depends_on "openjdk" instead.
==> Downloading https://github.com/klaytn/caver-java/releases/download/v1.3.1/caver-java.zip
Already downloaded: /Users/benjioh5/Library/Caches/Homebrew/downloads/dec44814c396626399cb032a2abcab6150aaeeea3b367fb7f833d6f1a16b7c4b--caver-java.zip
Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you an update run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.

Warning: Calling depends_on :java is deprecated! Use depends_on "openjdk@11", depends_on "openjdk@8" or depends_on "openjdk" instead.
Warning: Calling depends_on :java is deprecated! Use "depends_on "openjdk@11", "depends_on "openjdk@8" or "depends_on "openjdk" instead.
Please report this issue to the klaytn/klaytn tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
  /usr/local/Homebrew/Library/Taps/klaytn/homebrew-klaytn/Formula/caver-java.rb:7

Warning: Calling depends_on :java is deprecated! Use depends_on "openjdk@11", depends_on "openjdk@8" or depends_on "openjdk" instead.
Warning: Calling depends_on :java is deprecated! Use "depends_on "openjdk@11", "depends_on "openjdk@8" or "depends_on "openjdk" instead.
Please report this issue to the klaytn/klaytn tap (not Homebrew/brew or Homebrew/core), or even better, submit a PR to fix it:
  /usr/local/Homebrew/Library/Taps/klaytn/homebrew-klaytn/Formula/caver-java.rb:7

🍺  /usr/local/Cellar/caver-java/1.3.1: 4 files, 11.6MB, built in 7 seconds
bash-3.2$

Here is my homebrew version and OS X version.

mac : 10.15.7
brew

Homebrew version : Homebrew 2.6.0-94-g1834a33
Homebrew/homebrew-core (git revision b1ef15; last commit 2020-12-05)
Homebrew/homebrew-cask (git revision 841178; last commit 2020-12-05)

I think homebrew 2.6.0 does not more accept depends_on :java => "1.8+" stuff. Here is homebrew's patch note and official notification.

https://brew.sh/2020/12/01/homebrew-2.6.0/ -> which notifies depends_on :java annotation is deprecated.
https://github.com/Homebrew/brew/pull/9209 -> which update depends on :java in all formula of homebrew-core

In this case caver-java's dependecy on "JDK 1.8+" cloud be changed openjdk@8, openjdk@11, openjdk, or oracle-jdk.

@benjioh5
Oh, I see. Thanks for kindly providing additional information.


.Net Core (Preview) Restore fails 401 from TFS OnPrem Private Feed (TFS 2018)

We have a brand-new installation of TFS 2018 on-prem and are trying to set up our private NuGet packages to restore during a build.  We are using the .Net Core (Preview) 2.* task with the feeds and authentication options.
I have the build set up with "Feed(s) I select here", "Use Packages from this VSTS/TFS feed" set to use our private feed, and the "Use packages from NuGet.org" checked.
Running the build I receive this error:
2018-01-29T13:31:19.5231937Z Build FAILED.
2018-01-29T13:31:19.5231937Z
2018-01-29T13:31:19.5231937Z                    "D:\BuildAgent_work\1\s[Project].csproj" (Restore target) (1) ->
2018-01-29T13:31:19.5231937Z                    (Restore target) ->
2018-01-29T13:31:19.5231937Z                      C:\Program Files\dotnet\sdk\2.1.4\NuGet.targets(103,5): error : Unable to load the service index for source http://[URL]:8080/tfs/[project]/_packaging/d10e76b1-0db1-4fe5-9501-e1549e04da66/nuget/v3/index.json. [D:\BuildAgent_work\1\s[Project].csproj]
2018-01-29T13:31:19.5231937Z                    C:\Program Files\dotnet\sdk\2.1.4\NuGet.targets(103,5): error :   Response status code does not indicate success: 401 (Unauthorized).

I tried using a Nuget.config with the same result.  We are able to restore with no issue from VS 2017.

Command from log:
2018-01-29T13:31:15.6639329Z SYSTEMVSSCONNECTION exists true
2018-01-29T13:31:15.6639329Z Found tool in cache: NuGet 4.0.0 x64
2018-01-29T13:31:15.6795434Z Resolved from tool cache: 4.0.0
2018-01-29T13:31:15.6795434Z Using version: 4.0.0
2018-01-29T13:31:15.6795434Z Found tool in cache: NuGet 4.0.0 x64
2018-01-29T13:31:15.7108007Z Saving NuGet.config to a temporary config file.
2018-01-29T13:31:15.7264316Z Saving NuGet.config to a temporary config file.
2018-01-29T13:31:15.7576547Z [command]"C:\Program Files\dotnet\dotnet.exe" restore D:\BuildAgent_work\1\s[Project].csproj --configfile D:\BuildAgent_work\1\Nuget\tempNuGet_38.config --no-cache --verbosity Diagnostic
2018-01-29T13:31:17.4294989Z C:\Program Files\dotnet\sdk\2.1.4\MSBuild.dll /nologo /Logger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\2.1.4\dotnet.dll /m /p:RestoreConfigFile=D:\BuildAgent_work\1\Nuget\tempNuGet_38.config /p:RestoreNoCache=true /t:Restore /v:m /verbosity:Diagnostic D:\BuildAgent_work\1\s[Project].csproj

Oddly if we look for the tempNuget_38.config file on the build agent it does not exist.  Either it was not written in the first place or its being deleted during the build.  It doesn't make sense that the file doesn't exist as I don't see any other way the build tool could pick up the URL of the feed that is failing.

temp nuget config file seems to be getting created for my test Release.
Adding @pspill

@ExcaliburVT could you set System.Debug variable to true and upload the logs for your failure.

@ExcaliburVT before you run it again; could you also verify if you have permissions to access the feed?
You can find this tab inside feed settings of your feed.

The whole team is set as Reader and the Build Agent actually works publishing to the feed (which is the same agent running the restore that fails).  I'm working on the debug build right now, should have the log for you shortly.

Sorry it took me so long, I had issues reproducing and may have found another bug.   After deleting the Nuget.config file from the root of my solution and changing the build definition to use the feed it was still not breaking.  Changing the "Disable local cache" had no effect either.  I was forced to log into the build agent machine and manually delete the cache from the user.Nuget and AppData\Local\Nuget folders before the issue reappeared.  It appears that the build was not recognizing the "Disable local cache" flag even though i did find it in the log.
Log.txt

@ExcaliburVT The dotnet and nuget build tasks use an access token to communicate with vsts package sources, and these credentials are written to the temporary nuget config created by the build task. However, in order to use that access token, the package source must be specified using an https connection -- if the source is http, then the auth header is simply not attached to requests and the request will fail with a 401. To address this, please add an https endpoint to your tfs server, and set that secure address as the public address in the TFS Management console.  See https://docs.microsoft.com/en-us/vsts/tfs-server/admin/setup-secure-sockets-layer
This is admittedly difficult to diagnose.  I opened a separate issue to ensure that during credential acquisition the user is warned about this condition. #6357

Ah that makes sense.  I would recommend adding an option to override that behavior.  We are using this in an isolated environment with no real risk of credential sniffing and we had not planned on doing anything with SSL certs a all.
Thank you for your help!


Migration guide from NServiceBus to Wolverine

How it's different, magic things that work in NServiceBus that Wolverine does not -- and will not -- support. Big things that wolverine supports that NSB does not. Map some nomenclature.

This is very interesting issue. Would be interested to know which scenarios are better supported with Wolverine or NserviceBus


Move ZEP2 from draft to accepted

See https://github.com/zarr-developers/zarr-specs/issues/254

Thanks for the PR, @normanrz.
I suggested a few minor changes, and we'll be good to go then.


Swagger route locator

Suppose we have some of end points in some micro service...end point 1 to end point 5. But only end point 2 and 4 should be exposed externally.
Would it make sense to implement a predicate which uses some swagger definition to determine if the route should be applied? In this example the swagger would expose only the paths associated with end point 2 and 4.

We have implemented a predicate based on basePath + paths + http method defined from swagger 2.0 definition. We would need to clean it up to submit back to scg.

yeah, I saw that. I think folks would be interested.

I have published an OpenAPI Route Definition Locator for Spring Cloud Gateway which creates route definitions dynamically based on OpenAPI (aka Swagger) definitions served by backend (micro)services. I thought it might scratch an itch others are having, too. I'd be interested in feedback (including feature requests).


ARXIVNG-547 Intercept classic author search syntax

This intervenes in the simple and advanced search controllers, prior to passing the request data to their respective forms. See tests for examples.

Coverage increased (+0.4%) to 84.628% when pulling 89d64e896d9a8512b6128445fd3f834f845fd17c on bug/ARXIVNG-547 into 24a2e4e8dc90874bcb3bbc33349aff6664c26264 on bug/ARXIVNG-544.


Using td.cond during training leads to reduced throughput

In the process of using the resnet50 for imagenet training, we used LARS to update the learning rate and calculate LR at each step of the training. The throughput of the training is about 5500. For this we intend to optimize and calculate the LR operation every few steps to improve throughput. In the original code, we perform compute_lr calculation every step.
I modified the code as shown below：
gg is a tensor used to observe which step of training;
2 is a constant, indicating that lr is calculated every 2 steps.
The code:
def compute_lr()
coumpte_lr
...
stored_lr
...
return lr
def get_larsvalue()
get_stored_lr
...
return lr
tf.cond(tf.cast(tf.equal(tf.mod(gg,2),0),tf.bool),lambda:self.compute_lr(),lambda: self.get_larsvalue())
But after I modified the code, the throughput dropped. After analysis, I think it is because tf.cond is not a lazy operation, it will execute both branches, which is obviously not what I want. I don't know how to code to complete my thoughts now, ask you to help. Thanks

@melo19890618 It looks, This question is better asked on Stack Overflow since it is not a bug or feature request. There is also a larger community that reads questions there. Let us know. Thanks!

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Use python 3.5 for doctest

Related: https://github.com/chainer/chainer-test/pull/342
Fixed doctest to pass with python 3.5.

I noticed that ./run_test.py --test chainer-doc --gpu-id 1 of chainer-test repo does not test all:
Doctest summary
===============
  151 tests
    0 failures in tests
    0 failures in setup code
    0 failures in cleanup code
build succeeded

so I checked manually as:
$ python setup.py install develop --user && cd docs && make doctest
...
Doctest summary
===============
  896 tests
    0 failures in tests
    0 failures in setup code
    0 failures in cleanup code

LGTM!


Update bootstrap image to 1.1.2

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind feature
What does does this PR do / why we need it:
Updates the odo-init-image to 1.1.2
Which issue(s) this PR fixes:
N/A
How to test changes / Special notes to the reviewer:
N/A
Signed-off-by: Charlie Drage<EMAIL_ADDRESS>

/approve

/retest

/retest

/lgtm


Slight wording change

Slight wording change to make intent clearer

Docs Build status updates of commit 6774bcb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Voyager Installation on server is not working

Laravel Version: 5.5.x
Voyager Version: ^1.0
PHP Version:7.0.22
Database Driver & Version: MySql & 5.7.x

Description:
I installed a new laravel project into my production server and after installation of fresh laravel, I installed voyager admin panel with all the given steps into voyager installation guide.
But when I am trying to access the Voyager admin panel it is giving me 404 not found error.
Please find the attached screenshot.

Server ip is pointing to project_name/public directory.
Request for you help.
Steps To Reproduce:
URL is http://<IP_ADDRESS>/admin

Your rewrite config isn't working correctly.  If you add a normal route to /abc or whatever, it would likely also fail.  As a test to prove this, you can also try to access the page as [domain]/index.php/admin.  This is 100% not a Voyager problem.  If you need further help troubleshooting, feel free to join our Slack group and ask in #help, though you might get better/faster support in a larger/more generic platform like larachat or laracasts.

having exactly the same issue

it happens in my ubuntu 16.04. But it works well in 14.04, i dont know if its related to the issue. any updates?

No updates because this issue has been closed for 2 months....

This is a .htaccess problem. Should be AllowOverride All


NoSuchMethodError on upgrade to IntelliJ 2016.2

I've just this morning updated to IntelliJ IDEA 2016.2 Ultimate and I'm getting an error.
Opening the IDE, I get the popup to say there are changes waiting for my review, but when I open the Gerrit tab, I get this:
NoSuchMethodError: com.urswolfer.intellij.plugin.gerrit.ui.RepositoryChangesBrowserProvider$GerritRepositoryChangesBrowser.getDiffAction()Lcom/intellij/openapi/vcs/changes/actions/diff/ShowDiffAction;

I presume this is just a version mismatch between the plugin and the IDE, but the "Update Plugin" option is disabled suggesting I have the latest version.  Is there a planned update for the plugin to support 2016.2?
OS: Windows 7
Plugin version: 0.9.8-142
IntelliJ version:
IntelliJ IDEA 2016.2
Build #IU-162.1121.32, built on July 9, 2016
JRE: 1.8.0_76-release-b216 x86
JVM: OpenJDK Server VM by JetBrains s.r.o
Here's the full stacktrace of the error:
com.urswolfer.intellij.plugin.gerrit.ui.RepositoryChangesBrowserProvider$GerritRepositoryChangesBrowser.getDiffAction()Lcom/intellij/openapi/vcs/changes/actions/diff/ShowDiffAction;
java.lang.NoSuchMethodError: com.urswolfer.intellij.plugin.gerrit.ui.RepositoryChangesBrowserProvider$GerritRepositoryChangesBrowser.getDiffAction()Lcom/intellij/openapi/vcs/changes/actions/diff/ShowDiffAction;
	at com.urswolfer.intellij.plugin.gerrit.ui.RepositoryChangesBrowserProvider.get(RepositoryChangesBrowserProvider.java:87)
	at com.urswolfer.intellij.plugin.gerrit.ui.GerritToolWindow.createToolWindowContent(GerritToolWindow.java:71)
	at com.urswolfer.intellij.plugin.gerrit.ui.GerritToolWindowFactory.createToolWindowContent(GerritToolWindowFactory.java:36)
	at com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(ToolWindowImpl.java:568)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$9.run(ToolWindowManagerImpl.java:550)
	at com.intellij.openapi.application.TransactionGuardImpl$6.run(TransactionGuardImpl.java:291)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:326)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:863)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Or if I'd managed to search correctly, I'd have found https://github.com/uwolfer/gerrit-intellij-plugin/issues/210 which pointed me to the latest version.  I had to install manually

@colinsmcintyre: Have you uninstalled and then reinstalled the plugin in plugin settings? Or have you just manually refreshed the plugin list and then selected the update option?

@uwolfer I tried refreshing the plugin list but the update option was always disabled, even after restarting IntelliJ.  I didn't uninstall, I just chose "Install plugin from disk..." and that seemed to be enough for it to update

@colinsmcintyre: I have just pushed a new release. Can you please refresh the plugin list in IntelliJ settings and check if the new update is displayed? If not, please uninstall the plugin and reinstall it. Can you please let me know which way worked out for you? It's possible that IntelliJ does not display updates anymore since you have installed it manually from disk.

I just opened IntelliJ this morning and got this event popup (no need to refresh the plugin list):

This takes me from v<IP_ADDRESS>-146 (the version I manually installed) to v<IP_ADDRESS>-146

If you also get this error, please try to following and report back if helps or not (I have received this hint by a JetBrains developer):

"Check for update" action forces check for updates for sure and it is accessible through "Find action" or Settings->Appeaerance&Behavior->System Settings->Updates.

If it does not help, I can give you a contact at JetBrains in order to analyze this issue (and thus help other users in future). Thanks.


RegistrationRequest and SoftwareStatement data model and filter improvements

Some initial thoughts, further investigation required:

Objects should only be added to the attributes context when they have been validated

Combine RegistrationRequestBuilderFilter and RegistrationRequestJwtSignatureValidationFilter
This avoids the current issue of the objects containing a mutable signatureHasBeenValidated which is open to abuse or users may forget to check

RegistrationRequest should support client metadata being sent as JSON rather than a JWT (as per the OAuth 2.0 DCR spec

OB UK and CDR both use the JWT approach
Brasil OB uses the JSON approach
Validating and unwrapping the JWT can be handled in a layer before the client metadata is validated / used

Simplify the process of building these classes

As building and validating is complex, then a factory is probably a better approach than using a builder.

This will be tackled as part of migrating the code to PingGateway


Fix - Convert endpoints to GET

Fixes #85

@OlivierJM I am on it.

@OlivierJM can I merge this ?

@OlivierJM yeah, wait a bit. I got sidetracked with something else here, but I'm back on it and should be done soon

@YewoMhango by 'wait a bit' do you mean we shouldn’t merge ?

@OlivierJM so I guess I'll now start working on #60


RFC deprecation policy and utils

Problem
Currently we are using PendingDeprecationWarning and DeprecationWarning to deprecate features in Invenio. E.g.:
warnings.warn("Feature X is deprecated. Please use Y instead.", PendingDeprecationWarning)
warnings.warn("Feature X is deprecated. Please use Y instead.", DeprecationWarning)

The problem is we do not know easily when we should upgrade from PendingDeprecationWarning to DeprecationWarning and when to completely remove the deprecated code.
Proposal

Adopt a deprecation policy. See below.

Adopt utilities similar to Django for managing deprecations. I.e. add

# Current version +0.2
class RemovedInInvenio22Warning(PendingDeprecationWarning):
    pass

# Current version +0.1
class RemovedInInvenio21Warning(DeprecationWarning):
    pass

after each release we rename the warnings. This way we get a syntax error for code that has to be removed, and we can easily see when a feature can be removed when.
Suggestion for deprecation policy (which ties into Invenio release process):
A minor release version (A.B) may deprecate certain features from previous releases. If a feature is deprecated in version A.B it will continue to work in version A.B and A.B+1 but raise warnings. It will be completely removed in version A.B+2. Example:

Invenio 2.0 marks feature X as deprecated. The feature will still work, but it will issue the silent warning RemovedInInvenio22Warning  (PendingDeprecationWarning).
Invenio 2.1 still contains the feature, but the warning RemovedInInvenio22Warning is now loud by default (DeprecationWarning).
Invenio 2.2 will completely remove the feature.

(based on https://docs.djangoproject.com/en/1.7/internals/release-process/#internal-release-deprecation-policy)

:+1:

I just read this only now! Any way :+1:


Fix FinalizationRegistry refcounting bug

Introduced in commit 61c8fe6 from last month that moved the callback into the job queue:

It leaked fre->held_val when no job was enqueued

It fumbled the reference count when enqueuing; JS_EnqueueJob already takes care of incrementing and decrementing it

Reverts commit 0a70623 from earlier today because that didn't turn out to be a complete fix.
Fixes: https://github.com/quickjs-ng/quickjs/issues/648

Grr, tests/test_builtin.js still asserts, even with this change. It definitely fixes a bug but it clearly doesn't fix all bugs.

Thanks Ben!


Migrate to Django 1.8

Make sure the code runs under Django 1.8; as this is a LTS version (see https://www.djangoproject.com/download/).
Tasks include:

[x] See https://docs.djangoproject.com/en/1.8/howto/upgrade-version/
[x] We'll need to remove calls to request.REQUEST and use GET and POST there.
[x] Update the settings-file to the latest and greatest version (esp. TEMPLATES variable).
[x] Functional test of the application (and document such a functional test?).
[x] MySQL version should be at least 5.5, so the old server at SurfSara is a no-go (5.1).
[x] Fix the way the favicon is loaded (doesn't work now and will deprecate in Django 1.9).

Created the branch feature/django18 for the migration.

Merged the branch feature/django18 into develop in 3fe9a2216fe618841fd251207d9e770d32d4f99b.


[Reference PR] Skip publishing to Bintray from Shipkit; publish to Maven Central instead

Bintray is sunset starting 3/1/2021. This patch adapts Shipkit plugin integration so that it skips the Bintray publication step. Also, it sets up the maven-publish plugin so that it can publish to Maven Central. This patch is based on combining guides from Shipkit, OSSRH with Gradle and an example Maven Central + Gradle integration from dex-test-parser.
This patch is tested by running ./gradlew publishToMavenLocal which publishes artifacts locally. I found the expected artifacts in the local m2 repo, but did not notice he signing files. I will wait after check-in to see if they will be generated in the non-local publication case.
The patch was also tested by running Shipkit's release in the dry run mode: ./gradlew performRelease -PdryRun. It works all the way up to pushing. I did not provide a Github write token so that it does not accidentally push an undesired change.

We need to use "io.github.gradle-nexus.publish-plugin" plugin so that the publication to Maven Central is fully automatic, see example here: https://github.com/shipkit/shipkit-demo/blob/master/gradle/release.gradle#L20
Also, let's try to move off the deprecated Shipkit plugins. E.g. let's try to re-merge https://github.com/linkedin/coral/pull/36 I'll put some cycles on it.

Here's my suggestion how to move forward: https://github.com/linkedin/coral/pull/52


Renormalize: Nlitesoft.NTLite version <IP_ADDRESS>88

null
Microsoft Reviewers: Open in CodeFlow

Close with reason: Merge Conflict - General Repository Cleanup;


Support for heic files

Do you guys have plans to add support to convert heic files as that format is becoming common on mobile phones now?

Thanks for the report. I have added this to the list of backlog items and will update this issue if we are planning to add support.

Has anyone been able to deal with HEIC until there is proper support?
Even a pipeline to convert the HEIC before going to the serverless-image-handler would be fine.


[QUESTION] how can make redis fail when executing hgetall query

Hi everyone I'm writing mocha unit tests for my server. How can I get redis hgetall query error for below code. I've tried close the connection before execute but there's nothing firing.
redisClient.hgetall(`${anyValue}`, (err, reply) => {
   if (err) {
       // I want to get here
   }
   return done(reply);
});

Try RedFi. You can inject an error that way.

@stockholmux thanks for reply. I will check it.

I'm going to go ahead and close this since it's not really an issue.


Is there a way to remove a worksheet?

Hi, I am looking for something like workbook.worksheet_delete(name).  Wondering if this exists and I missed it or if it's easy to add.

Thanks for the gem. I see that in 3.3.10 tag you had a :remove_worksheet method. Can't see why this was removed. Any reason or just an omission?

Hint #1:

workbook.worksheets.class
=> Array

Hint #2:
http://ruby-doc.org/core-2.2.3/Array.html#class-Array-label-Removing+Items+from+an+Array

Following your hint, if I understood it correctly, it seems that after deleting a sheet using:
file = RubyXL::Parser.parse(file.path)
file.worksheets.delete(file['data_sets'])

Then later, when I open the modified file in Excel I get a "We found a problem with some content in..." error. That does not happen if I do not delete that sheet.
When I click "yes" and look at the generated error report it says:

Removed Feature: Named range from /xl/workbook.xml part (Workbook) removed

Any ideas?

Like @odedd says when I delete needless sheets in the ruby program from a template which included footer info and set print header title for rows, I got the same error.
Maybe because of footer settings or print header settings is still remain in?
I'm looking for the way to solve this issue, too.

The particular error you are getting is because the named range you have in your spreadsheet addresses a cell from the sheet you just deleted. Excel can (and must) validate referential integrity of its data, and so it does delete the names in such case. However, rubyXL is not a recreation of Excel in Ruby, and has its own limitations — for example, it does not validate referential integrity of a workbook. Unfortunately, I just do not have enough time to implement the entire functionality of Excel in Ruby!


doc: Drop no longer relevant comment

The comment was introduced in 4cf3411056f6a59fc5fe07784b6b6a512d76b046, and since 7e4bd19785ff9120b7242ff9f15231868aaf7db4 it has been no longer relevant.

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Reviews
See the guideline for information on the review process.
A summary of reviews will appear here.