Gmail spam

Classification

[X] Deliverability issue

Reproducibility

[X] Always

Docker information
Containers: 23
 Running: 21
 Paused: 0
 Stopped: 2
Images: 32
Server Version: 18.09.5
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.19.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.65GiB
Name: s1
ID: 7KA3:HTXY:NVVS:4EQ5:GISV:7V5I:Q3T6:C6HO:GLMR:MU5N:6L7Q:QYDG
Docker Root Dir: /srv/dev-disk-by-label-MainPool/Docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false
Product License: Community Engine

hardware/mailserver   1.1-stable          sha256:875e086722213d92dce9278eb7b28535f18a29a0a3d82bb39405274177811cf9   5912a9f37445        6 weeks ago         380MB

Description
Just DKIM error (DKIM Signature Body Hash Verified) and I don't know how to fix it.

Delivered-To<EMAIL_ADDRESS>Received: by 2002:a0c:9649:0:0:0:0:0 with SMTP id 9csp6870326qvy;
        Mon, 27 May 2019 10:14:28 -0700 (PDT)
X-Google-Smtp-Source: APXvYqxiTtabN9d6iXII3m3wH0VK1G5KfzzcxLzKNPzLPeHkhdUFUHy601YCqN2kPPyOUUuJouEQ
X-Received: by 2002:a1c:1bc5:: with SMTP id b188mr70366wmb.174.1558977268030;
        Mon, 27 May 2019 10:14:28 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1558977268; cv=pass;
        d=google.com; s=arc-20160816;
        b=gMYU31rgBeoAtLo0KonE9sVuQmo84D7a1hu1dHTHhLUnbgB5BcvItE1VRJzhFu7xyI
         k0J5xOid/84N3gh2kFc5z2vtX3QfkLzyOKNg0ua8Y8IO5pdViSweGPPcTYFXKjlAuofW
         cUgODPwPEVc2zUyGf1NxYNExtThrg5NsJCg3p/8FvjDolSkZ5QYkhKGv9TjunNnoPZC/
         MBGBoibF2Fbw5AfNpPKOaLQf+XOmoK5rZM4yvGkLadZ87vXh0wfCn7ykxsxx4XKdW3SK
         LRLIeNab3idi337JAocF98DDk77pyJ4z/OPTS94qSh5g75LCFqkDA0u9u7LXvZnXyf3i
         PIZw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=content-language:content-transfer-encoding:mime-version:date
         :message-id:subject:from:to:dkim-signature;
        bh=/CObrfZoRCFogseHXpg4Gk5LEONrEGPjO0w1ydMAP+A=;
        b=PfSxRC555JPHjvhl87gqCj4QJZvLJtIXqNZMdcGJ0zkeuePoUsV4A4IVcgMMm5hDwx
         uCqKYIdHjJAuMWJtmKaCO9LDfj862qKrcj+wPAGbR1bEx0LnfWR1H8UrzU/wCtTwDbBp
         lcnONUT2uIyrA9WfEoVejwsKzxNSHZwXYhrcNVEUofUomFnSul39KmADgWlwMBkAdln6
         jY42Rdc5l2sKmbNkNNS2bkJqpBUIQ7Zh5n5SmYIEtsGP1kGI/21ueXHk9eDUxPUUuS/u
         lV0rS6kF/nI4bzjidAFnNCchHqxheZBlMMp8m+TAPY6cmy8ewuHruVi0xrX3OoWE5E1B
         BuvA==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass<EMAIL_ADDRESS>header.s=mail header.b=Sxkqvdkf;
       arc=pass (i=1);
       spf=pass (google.com: domain of<EMAIL_ADDRESS>designates xx.xx.xx.xx as permitted sender<EMAIL_ADDRESS>       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=xxxx.cz
Return-Path<EMAIL_ADDRESS>Received: from mail.xxxx.cz ([xx.xx.xx.xx])
        by mx.google.com with ESMTPS id i5si9434923wrs.426.2<IP_ADDRESS>.14.27
        for<EMAIL_ADDRESS>        (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
        Mon, 27 May 2019 10:14:27 -0700 (PDT)
Received-SPF: pass (google.com: domain of<EMAIL_ADDRESS>designates xx.xx.xx.xx as permitted sender) client-ip=xx.xx.xx.xx;
Authentication-Results: mx.google.com;
       dkim=pass<EMAIL_ADDRESS>header.s=mail header.b=Sxkqvdkf;
       arc=pass (i=1);
       spf=pass (google.com: domain of<EMAIL_ADDRESS>designates xx.xx.xx.xx as permitted sender<EMAIL_ADDRESS>       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=xxxx.cz
Received: from authenticated-user (mail.xxxx.cz [<IP_ADDRESS>]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.xxxx.cz (Postfix) with ESMTPSA id EC28F24600BA for<EMAIL_ADDRESS>Mon, 27 May 2019 17:14:25 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xxxx.cz; s=mail; t=1558977266; h=from:from:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:in-reply-to:
	 references; bh=/CObrfZoRCFogseHXpg4Gk5LEONrEGPjO0w1ydMAP+A=; b=Sxkqvdkf/X2TXarz+7nFgmsJQ9TlUq+HixR2u/Zg3PYnK4XCr1FRAlwyl+EckcEsV4KtyE xl3ztsLY+SR+4t5zsLyQi8L52gN8BQVV9poYLEhj9dUsdHLhVcBbDQIGQdLpNqMRvPJ5DL skIb7A0yPfM1EJ/KpSyKXFcAShjMzr+durjcPoG37Cru1NEgaPCLZu9qywyohQ7QFcX2f6 xreOZRwCQ1itfrIux6GKAwCPR4fUu1fyX9fhRWEajgD+N0VzTe5TMefxGrxqd4GO4LyFeJ 9UrC4o6s+Sc1YgZ4grh9TXPA1PoxZJFrTw5DWZb3l4bupv9Km9WP9Gvc1co40BvjAs//kh GfM3MqT6EZOsybO1IeZ482CJuXw5fb0zK7lh2106ZugpT6h4rHjTmUbAWqalpssG6VQRxf 9Vryf3tR+PWpwJdYRIgsjqCrghg/OqmW0QWObh49P6YViXxyQFBHwnu01aPjeWvbKPTYYd psl2LnkcuSPMRJ2uNHmEdpx35bYsZmTD9qUDDKazc+lBQlOkgZBOOx+tb9Kw2LgC9pJx54 I+n8OwSEjtdAkK39aVL0mW7UQ9Snwdh3C+y4h7vzv3d/lZlsbCyhK41oDbdpxODo/ZYKmC J/dVsIIFrcNMWsWt7woWzwBzPS5awmRPr3aQY6cBDEuxpsRszwSyg=
To<EMAIL_ADDRESS>From: Admin<EMAIL_ADDRESS>Subject: Test 2222 email serveru
Message-ID<EMAIL_ADDRESS>Date: Mon, 27 May 2019 19:14:23 +0200
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: cs
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=xxxx.cz; s=mail; t=1558977266; h=from:from:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:in-reply-to:
	 references; bh=/CObrfZoRCFogseHXpg4Gk5LEONrEGPjO0w1ydMAP+A=; b=b8fzPo1HFeCKenczrVYwHPMHBXkjMBmnq0YWPCZaIdH01qFnQgKOcBt1Gw52MnMGwNuH6Z s8RqknC3TmD7HIIN71TXVcbjJjd1gJezYD8bn3jmi7aw6jq/IGBlCFpYyXT7SR61vvcZ99 anPqoK2zt/oH4vCTgqqZo6TJwxhA4BWJZAVA5uBhLwyn0wHCbSuGNBtBW+OoqxUkDUTDPS TCziMWzkA8qM3m//6IId4dPV2D4RBYJpOdYAJI5nI5LtHdFPHw3Z0leVr7gG1VOWPbGyLG Xmtwjf+Gvfbo3R4z6OW1jO+Q32m2LIexNjjvEAURjP6GcWNiiyG8pycbCUJwtV7Uyp9Rnz 3WaBmQqDxYt/ZHQxyaKkiNPjAOeVvCX74IFJ3Ub5nbwnpxNO8tfxJCpABVH4xXbOM4RLMm /JJVf8pHeAP7F0/EBmy3pF3WED/M82aFXqtal3q0zu5DgoOMCSwrEt4hJY1sKXK5XSN4OQ AXn8cKv5ndT2VXMssQ1aj/GXvU/agMTTnuSMz+CuXgCTA7NpiGRVMNYG9aEJnhXcRCVDaG fPwlgBQlSJridwMQMbA91EkFpSbBYWVufqQfOuUUfdUPD8thmsBeYkPD2twv3yBLnTRTMg 9qq/QqJF5LcagKA/VA7nhiErZQhpNHggyUySBnXMTJay8ufUxkyL0=
ARC-Seal: i=1; s=mail; d=xxxx.cz; t=1558977266; a=rsa-sha256; cv=none; b=KLE6zx/9OoWJbCqv1VkC1G5fUebzqWiWkLMvwN+pxdd7ATGO8RZgBx7nrngfSeTV7ZzNH+ wt4Q3PP9Q+xEUUxD5+mJh9Uezg+qVu4dDDCMmxLOAeLbjjCO9j5/FZpJYmRTqF0smL7kz9 kmhcWDUAawZX2O5XODsEB6cPfAELUNZWYHnFx//HyIcPeAK5CUco8wy2IaS9EfC1JaHxpd j98gOA8xgfiBf2v3bEfaDgS26VCfZAkXgHlc+y0/X+iER5fKmojRwabnn+zjwnvD2d/c02 lTclSAbWHp2aKtjdYWYBacCzY0qqn9iMqfXUiyDY8Qw4xwtNmvHxZBoUFVdk/18ehZi24H Lp8Af64zbKM2Tr4Idq/DGlwdKETDN66KSGb7Nvne4L23dPhEB0RvEos3Fug53oT93dc/0w QSArpS4vD65Ac3eP1QJ4fnfC8JH0+FL/hQHt566+MAbJulNWjCYllALADf1SRmmslmLwkU PtNdnLc5NgXh4x0XzQ7pRQrLEJsoTiFaBtDnces3/XkgUrHidUK/ikLZO4A2l2losefuw2 DhXj4BPM5MZOjpRNEc24VViFx87359NeDwJrvObZkee/a6NcFCavwuYLtciDNFyjR7ccvl 5DfFIIip20JRXCdnnm7lyfTVIQkVSIWShxUeueJSZUcODGjMRMBdo=
ARC-Authentication-Results: i=1; mail.xxxx.cz; auth=pass<EMAIL_ADDRESS><EMAIL_ADDRESS>
Projde tento email do doru�en�ch?

Test

Admin

Steps to reproduce
1.Send email to gmail

Hm, I did not see this issue before. Are you sure you set up your domain correctly with the generated DKIM string?

Generated:
mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "
	"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtAmdXiZUhNsFtP/4v9BN/o+/qZZLWpDPrbUT6deOVMoIwP4l/1Foh3erEVhFgr4yAMr57I4gi3XyLcGIbfmMoek+SwoQhxp2HOpIMe16RV/lv8USLU408LE1JIx8ZGv498aaI1Wdt4DAmZu+o86Ch+U+MiUIlNKmzkIHbyNS8nW4jfG+lt/bt8EyrH+CsBUYi9eLdQoC8UuXWHTeC"
	"UZgoJGbg4bqNiil9ir6dzo701q1QqWd5zr99UzYfPm/L7o/IQrmEVzDlcvWMa48sjF6ZBJvdBc+/5MMJiWSSe+oVDT6zsCafdrVGFRTVSuoTmQpdQzaa6dzR/h/WasuYIq8g44PXk4YB/NsjmeDxgoUtQaP9n/YoPtAN0wVSmovOW86eZrSR3OYackXl+03u4t4olSrEXSV/m+BNORo4NOBK7jxyOsj+3VwIEeG8jLGJ3suknrmGsyHsFvE2CUA"
	"zBo6iqaKVduGyecVP1dPDlyJfcMUhC6EoFsJqddFQNe39rcriesIKD7mCDFmESz0AExs0QDp9gma/NZ1LDm0pNAYsA4xnUcWzO3whQ3d6M3qo8lE9suNoAwv10L8kQJqJljto/+0FsIf3XMaWK+zY+RT6qrFlnv+OaTWwrr4Skj1+oJrOKS205vJX1pQc9IQgIYtvfTPdX2qDhY3IiEQdN80uMkCAwEAAQ=="
) ;

TXT in CloudFlare DNS:
mail._domainkey
v=DKIM1;k=rsa;p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtAmdXiZUhNsFtP/4v9BN/o+/qZZLWpDPrbUT6deOVMoIwP4l/1Foh3erEVhFgr4yAMr57I4gi3XyLcGIbfmMoek+SwoQhxp2HOpIMe16RV/lv8USLU408LE1JIx8ZGv498aaI1Wdt4DAmZu+o86Ch+U+MiUIlNKmzkIHbyNS8nW4jfG+lt/bt8EyrH+CsBUYi9eLdQoC8UuXWHTeCUZgoJGbg4bqNiil9ir6dzo701q1QqWd5zr99UzYfPm/L7o/IQrmEVzDlcvWMa48sjF6ZBJvdBc+/5MMJiWSSe+oVDT6zsCafdrVGFRTVSuoTmQpdQzaa6dzR/h/WasuYIq8g44PXk4YB/NsjmeDxgoUtQaP9n/YoPtAN0wVSmovOW86eZrSR3OYackXl+03u4t4olSrEXSV/m+BNORo4NOBK7jxyOsj+3VwIEeG8jLGJ3suknrmGsyHsFvE2CUAzBo6iqaKVduGyecVP1dPDlyJfcMUhC6EoFsJqddFQNe39rcriesIKD7mCDFmESz0AExs0QDp9gma/NZ1LDm0pNAYsA4xnUcWzO3whQ3d6M3qo8lE9suNoAwv10L8kQJqJljto/+0FsIf3XMaWK+zY+RT6qrFlnv+OaTWwrr4Skj1+oJrOKS205vJX1pQc9IQgIYtvfTPdX2qDhY3IiEQdN80uMkCAwEAAQ==

I create new mail server (clean, with instruction). Still same error when I analyze google header in MXToolBox

Hi @FilipK-CZ
I will create a new server over a weekend and I will try this.

any updates?

Hi,
Sorry, I did not get a chance to try this out due to some other tasks. I will try to do it this week.

how'd it go? :D

I tried to reproduce the issue, and I wasn't able to do it. :(

that should be a good thing I'd think?

Yeah, I think so too...

I still have this error. Also, deleting and recreating the container did not help.
Gmail (header) says:
SPF: PASS
DKIM: PASS
DMARC: PASS
I check my IP in 250 blacklist and nothing

Not sure how this can be a problem with the mailserver itself, since technically is everything ok.
Maybe it is your domain, your email content, your ip address... Who really knows how gmail spam filter works?
Did you subscribe yourself on Postmaster tools? It may be useful.

Microsoft mail also spam.
In header arrived mail is: dkim=fail (body hash did not verify)

Yes, I verified the domain in Postmaster.
Still shows no data
No data to display at this time. Please come back later.

Not sure how this can be a problem with the mailserver itself, since technically is everything ok.
Maybe it is your domain, your email content, your ip address... Who really knows how gmail spam filter works?
Did you subscribe yourself on Postmaster tools? It may be useful.

I test multiple domains and still same error, I tried 2 IPs, I tried multiple email content

Both IPs are from the same hosting provider?
I have a relay on Vultr 👍, no problems at all.
(You will need to ask them to unblock port 25)
I also have some vps on OVH, but they got blocked on hotmail one time,.
It was not my fault, but a "provider issue", Microsoft blocked a whole OVH network range that day.

Yes, it's from the same provider, but from a different range.
And I have full access to my IP (no block ports)
And block port 25 or blocked IP couldn't make error 'dkim=fail (body hash did not verify)'

I know that, I was talking about port 25 on Vultr not your provider.
Maybe that is the issue, if your hosting provider is know for spamming, it may have a bad reputation.
What are you using to trigger this emails? a script? a program? webmail?
Some scripts adds a few headers, it may being tagged...
[]'s

I use Mozilla Thunderbird (or RainLoop)


Validation stops improving after the 10th epoch (reproducing Scaling NMT paper)

Hi I have read the issues in #625 and #645 but they do not help in my case. I find checkpoint_best.pt is the same as checkpoint10.pt even though the last epoch is 50.
Here is my training script:
fairseq-train \
    data-bin/wmt16_en_de_bpe32k \
    --arch transformer_vaswani_wmt_en_de_big --ddp-backend=no_c10d --share-all-embeddings \
    --optimizer adam --adam-betas '(0.9, 0.98)' --clip-norm 0.0 \
    --lr 1.0e-3 --lr-scheduler inverse_sqrt --warmup-updates 4000 --warmup-init-lr 1e-07 \
    --dropout 0.3 --weight-decay 0.0 \
    --criterion label_smoothed_cross_entropy --label-smoothing 0.1 \
    --max-tokens 4000 \
    --fp16 \
    --update-freq 16
    --save-dir checkpoints/transformer_wmt16_ende_big

Here is the log in the last epoch:
| epoch 053:  62%|▌| 188/305 [08:00<04:04,  2.09s/it, loss=11.469, nll_loss=10.892, ppl=1900.69, wps=217021, ups=0, wpb=452166.037, bsz=14805.337, num_updates=15945, lr=0.000500846, gnorm=0.282, clip=0.000, oom=0.000, loss_scale=0.016, wall=37576, train_wall=33385]
I have a few questions:

With such a large batch size, is it still appropriate to use warmup=4000 iterations? if so it would take 4000/305 = 13 epochs to reach the peak lr, which seems too long?
The loss scale in the last epoch is just 0.016, it means that the loss is still quite big for fp16, does that mean we need to switch to fp32 instead?
With multiple Forward-Backward propagation, the gradients are accumulated (not averaged), but if the gradient scale is already multiplied due to accumulation, why increase the learning rate won't make the weights diverge?

Thanks in advance!

| epoch 053: 62%|▌| 188/305 [08:00<04:04, 2.09s/it, loss=11.469, nll_loss=10.892, ppl=1900.69, wps=217021, ups=0, wpb=452166.037, bsz=14805.337, num_updates=15945, lr=0.000500846, gnorm=0.282, clip=0.000, oom=0.000, loss_scale=0.016, wall=37576, train_wall=33385]

Your loss has exploded, probably around epoch 10. You can try a different random seed or a slightly smaller learning rate.

With such a large batch size, is it still appropriate to use warmup=4000 iterations? if so it would take 4000/305 = 13 epochs to reach the peak lr, which seems too long?

This is what we used, but a smaller warmup may work as well.

The loss scale in the last epoch is just 0.016, it means that the loss is still quite big for fp16, does that mean we need to switch to fp32 instead?

With multiple Forward-Backward propagation, the gradients are accumulated (not averaged), but if the gradient scale is already multiplied due to accumulation, why increase the learning rate won't make the weights diverge?

We average gradients across the number of workers. So if you have 8 GPUs with --update-freq=16 then each update will use an average of 128 mini-batch gradients.

Hi @myleott Thanks for your help! Now I changed the learning rate to 9.0e-4 and now it seems working. However, there is still a few digits away from the numbers in paper (which is 29.2, I can reach 29.02).
I trained the models for ~110 epochs, the last log entry is:
epoch 117:  68%|▋| 233/342 [08:37<03:27,  1.90s/it, loss=3.805, nll_loss=2.129, ppl=4.38, wps=211294, ups=0, wpb=402378.142, bsz=13181.164, num_updates=39677, lr=0.000285761, gnorm=0.205, clip=0.000, oom=0.000, loss_scale=4.000, wall=85288, train_wall=79115]

After doing checkpoint averaging (from last 10 epochs) and "compond word splitting", my result is 29.02. So I am wondering if this result is within the error bar or not? Is there anything else I need to do to exactly reproduce the official result?

Please check your generation parameters, particularly the length penalty and beam size

I am closing this issue because 29.14 is close to 29.30 (the difference might be due to smaller lr, different checkpoint averaging policy, etc.)


Page provides link to Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyOptions.DynamicConcurrencyEnabled that doesn't work.

There is no documentation anywhere for Microsoft.Azure.WebJobs.Host.Scale.ConcurrencyOptions.DynamicConcurrencyEnabled despite the batchsize section referring to it.

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

ID: 42ce1380-ad8b-b823-736a-41449276cf90
Version Independent ID: 7e8aa6aa-2ed5-3ea0-9820-54544bc2224f
Content: QueuesOptions Class (Microsoft.Azure.WebJobs.Host) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.WebJobs.Host/QueuesOptions.xml
Service: azure-functions
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Functions:0.35589698,Managed Identity:0.16856736,Docs:0.0808981'

This issue has been transferred to the repository where the Microsoft.Azure.WebJobs package is maintained as #2837.


global: bump invenio-celery version

removes the kombu pinned version

Import issue with werkzeug now :(

@lnielsen I've bumped invenio-celery version to cover the fix for pinned 4.4


wrong backspace direction

when I use the tmux, the backspace always go forward, though it can delete the content.

the reason may be the conflict between the tmux and vim-gnome

hi there, have you solved this problem? I met the same issue


queue-level exclusive jobs

At the moment, it's possible to have both exclusive and non-exclusive jobs on the same Queue. In practice, all usecases have either fully-exclusive queues (queues where all jobs are exclusive) or fully non-exclusive queues (queues where no jobs are exclusive). This PR makes some changes to move the concept of being exclusive up a layer: It treats any Queue that ends on exclusive as being exclusive, thus saving one Redis call.
Notably, this PR is missing:

[ ] a migration path
[ ] any decision on wether this change is actually worth it

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 87.315%

Files with Coverage Reduction
New Missed Lines
%

src/shared/tracer.ts
2
86.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
435

Relevant Lines:
462

💛  - Coveralls


Not compatible with phpStorm 2021.1

Hi,
I would like to try this plugin, but It says that it uses an older build.
Greetz, flexJoly

Hello,
Thanks for raising this issue.
Since release v0.1.1 the build version has been updated to 2021.1.


add example for creating a new missing visit KRI

Overview

Test Notes/Sample Code

Notes:

I think this is more of an example than a production workflow. So let's keep it out of inst/workflows for now. I'll put in a quick tweak to get it to load from the examples directory and then merge.

@jwildfire This one looks like it's ready to merge!


Keep a lifetime running total of space saved

Originally requested in #10 (Keep a lifetime running total of space saved (either per server and or per library)), this issue has been created to split the work out into it's own item due it's potential additional complexity.

@se1exin - Just poking through the code, am I correct in understanding that you're currently not using any kind of data storage?
I'd suggest using Python's configparser to create and utilize a single stored config file between the back and frontends. Then you can add configurations for the server IP and port, and add simple storage for the other requested variables, like the total space saved here and the other request to add a "whitelist" of media titles to ignore. ;)

@d8ahazard yep you are correct. The original idea was for it to be stateless and as simple as possible. I think we can add-on the option for some stateful storage - but it should always be optional, and continue to work without it if the user so desires.
That's interesting re: using configparser to store config. I wasn't aware configparser could store data outside of the lifecycle of the application? E.g. if I delete a bunch of movies and then stop the docker container, when I restart the container I would expect the total space saved to be retained. Is stateful storage possible with configparser?

@d8ahazard yep you are correct. The original idea was for it to be stateless and as simple as possible. I think we can add-on the option for some stateful storage - but it should always be optional, and continue to work without it if the user so desires.
That's interesting re: using configparser to store config. I wasn't aware configparser could store data outside of the lifecycle of the application? E.g. if I delete a bunch of movies and then stop the docker container, when I restart the container I would expect the total space saved to be retained. Is stateful storage possible with configparser?

Yep. More or less, at least. Basically, you load the config with configparser as usual, and then literally just write back to the file with an updated config object as needed. As long as you're not doing a massive amount of async I/O on the file, it's a generally safe practive.
https://stackoverflow.com/questions/6528938/configparser-reading-and-writing

Oh, and then for "not requiring it", you basically do the same thing. Anything we're saving/loading, just define a default value first.
Then, if the user does something to update one of those values, we then save it to a file. You then just do a check for the file on startup, and overwrite the defaults with values from config if they exist. ;)

Added in https://github.com/se1exin/Cleanarr/tree/v2.0.0
Please ensure you docker volume mount a directory to /config to ensure that the new database persists across docker restarts


Add a hook to fail current test

We would like to enforce that our tests are not emitting any warnings. We have some 3rd party modules that console.error warnings, which we can overload in our mocha --require bootstrap.js file, but unfortunately some modules catch any errors we throw, so they never bubble back up to our unit test. It would nice if Mocha exposed some hook where we could just call Mocha.fail(message || error)

I recently discovered on stackOverflow the existence of this.test.error() is exposed in afterEach, there looks to be no documentation about this on the mocha website and it pretty hard to find if you don't know what to search for. Consider adding some documentation. That is sufficient for my usecase, so I'm going to close this. Thanks!


Create an Azure IoT Edge for Linux on Windows deployment stops with 404 error

Describe the Problem
Get 404 Using Windows Admin Center to create a new Azure IoT Edge for Linux on Windows deployment.
To Reproduce
Steps to reproduce the behavior:

In Windows Admin Center, click on + Add
Click on "Create new" for Azure IoT Edge
Click Next on Prequequisites
Accept license agreement and click Next
Diagnostic data - keep off, click Next: Deploy
Select target device - click on Select to evaluate (get "Supported"), and then click Next
Settings - keep all the defaults and click Next
Momentarily see deployment page, but get error:
Deployment failed with errors
Duration: 0 minutes 0 seconds
The remote server returned an error: (404) Not Found.

Expected behavior
Expected a successful deployment.
Screenshots
If applicable, add screenshots to help explain your problem.
Windows Host OS

Edition: Windows 10 Enterprise LTSC
Version: 1809
Virtual Machine: None (installed on H/W)

Additional context
Have successfully deployed EFLOW previously on this same machine.   Completely uninstalled Windows Admin Center and Azure IoT Edge for Linux on Windows more than once before with no issues.

@tickledblue3,
Thank you for reporting this issue.  We had a broken link, but it has been fixed.  Please refresh your Windows Admin Center session and try again.  Let us know if you continue to see the 404 error.  If this issue is resolved, please close this issue request confirming that the link now works for you.
Terry Warwick

That fixed it, thanks for the quick resolution.


Fix the semantically very broken search box

This was very annoyingly very broken. Very broken.
Two primary issues:

Autofocus. Autofocus should only be used on a field when it is the expected action on the page, because it steals keyboard events such as the arrow keys and Space for navigation, and causes users of screen readers confusion as they’re thrown into a strange place.
It’d be just barely OK to use it on search pages, but used on every page in the documentation, it’s just super annoying.

Not being a form. I have no idea why anyone would ever have written it the way it was—it’s just awful from end to end, a bad reimplementation of a subset of native browser functionality. It’s a form, let it be a form.
Possibly the most baffling part of it was the use of location.replace which breaks the back button. I just… why!?
While I was at it, I gave the search box an aria-label for good measure, but I didn’t change its type to "search" because that has UI implications on some platforms that I’m too lazy to deal with.

This is still pretty bad, because that magnifying glass is done in CSS rather than being a fair dinkum submit button, but I just wanted a quick fix because the autofocus issue is annoying me so much.

CLA signed.

/lgtm

/approve


rdkafka dependency build fails on latest cross (main) when ssl-vendored feature is enabled

Checklist

[X] I've looked through the issues and pull requests for similar reports

Describe your issue
I have a project that uses rdkafka with ssl. When updating to the latest cross from main, I could no longer get it to build.
I have made a demo project that can reproduce the issue: https://github.com/pizaCat/cross-musl-demo
Here is a copy of the README:
Demo project for a compilation failure with the latest cross (7b79041).
Cross must be installed with
cargo install cross --git https://github.com/cross-rs/cross.git --rev 7b79041`

The following fails:
cargo clean
cross build --target x86_64-unknown-linux-musl

With the following error:
error: failed to run custom build command for `rdkafka-sys v4.7.0+2.3.0`

Caused by:
  process didn't exit successfully: `/target/debug/build/rdkafka-sys-f2824ebbed8581bd/build-script-build` (exit status: 101)
  --- stdout
  Configuring and compiling librdkafka
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-musl = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_musl = Some("/opt/toolchain.cmake")
  CMAKE_GENERATOR_x86_64-unknown-linux-musl = None
  CMAKE_GENERATOR_x86_64_unknown_linux_musl = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-musl = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_musl = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-musl = None
  CMAKE_x86_64_unknown_linux_musl = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/target/x86_64-unknown-linux-musl/debug/build/rdkafka-sys-e2f2066daeed4ea9/out/build" && CMAKE_PREFIX_PATH="/target/x86_64-unknown-linux-musl/debug/build/openssl-sys-994c1be9da62cf5b/out/openssl-build/install:" "cmake" "/home/marsad1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rdkafka-sys-4.7.0+2.3.0/librdkafka" "-DRDKAFKA_BUILD_STATIC=1" "-DRDKAFKA_BUILD_TESTS=0" "-DRDKAFKA_BUILD_EXAMPLES=0" "-DCMAKE_INSTALL_LIBDIR=lib" "-DWITH_ZLIB=0" "-DWITH_CURL=0" "-DWITH_SSL=1" "-DWITH_SASL_SCRAM=1" "-DWITH_SASL_OAUTHBEARER=1" "-DWITH_SASL=0" "-DWITH_ZSTD=0" "-DENABLE_LZ4_EXT=0" "-DCMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake" "-DCMAKE_INSTALL_PREFIX=/target/x86_64-unknown-linux-musl/debug/build/rdkafka-sys-e2f2066daeed4ea9/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_BUILD_TYPE=Debug"
  -- The C compiler identification is GNU 9.2.0
  -- The CXX compiler identification is GNU 9.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/local/bin/x86_64-linux-musl-gcc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/local/bin/x86_64-linux-musl-g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Looking for pow in m
  -- Looking for pow in m - found
  -- Checking for module 'libsasl2'
  --   No package 'libsasl2' found
  -- Configuring incomplete, errors occurred!
  See also "/target/x86_64-unknown-linux-musl/debug/build/rdkafka-sys-e2f2066daeed4ea9/out/build/CMakeFiles/CMakeOutput.log".

  --- stderr
  Building and linking librdkafka statically
  CMake Error at /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
    system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
    OPENSSL_INCLUDE_DIR)
  Call Stack (most recent call first):
    /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
    /usr/local/share/cmake-3.23/Modules/FindOpenSSL.cmake:578 (find_package_handle_standard_args)
    src/CMakeLists.txt:232 (find_package)

  thread 'main' panicked at /home/marsad1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 1

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

When forcing image 0.2.5, the build succeeds:
cargo clean
CROSS_TARGET_X86_64_UNKNOWN_LINUX_MUSL_IMAGE=ghcr.io/cross-rs/x86_64-unknown-linux-musl:0.2.5 cross build --target x86_64-unknown-linux-musl

What target(s) are you cross-compiling for?
aarch64-unknown-linux-musl, x86_64-unknown-linux-musl, other (specify in description)
Which operating system is the host (e.g computer cross is on) running?

[ ] macOS
[ ] Windows
[X] Linux / BSD
[ ] other OS (specify in description)

What architecture is the host?

[X] x86_64 / AMD64
[ ] arm32
[ ] arm64 (including Mac M1)

What container engine is cross using?

[X] docker
[ ] podman
[ ] other container engine (specify in description)

cross version
cross 0.2.5 (7b79041 2024-07-11)
Example
cargo install cross --git https://github.com/cross-rs/cross.git --rev 7b79041
git clone https://github.com/pizaCat/cross-musl-demo.git
cd cross-musl-demo
cross build --target x86_64-unknown-linux-musl

fails to build rdkafka
Additional information / notes
When forcing image 0.2.5, the build succeeds:
cargo clean
CROSS_TARGET_X86_64_UNKNOWN_LINUX_MUSL_IMAGE=ghcr.io/cross-rs/x86_64-unknown-linux-musl:0.2.5 cross build --target x86_64-unknown-linux-musl

This is probably due to https://github.com/cross-rs/cross/blob/7b79041c9278769eca57fae10c74741f5aa5c14b/docker/Dockerfile.aarch64-unknown-linux-musl#L36
Can you try removing that env var with
[build]
env.passthrough = ["CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_musl"]

That worked, thanks for the quick workaround! Does that mean that the CMAKE_TOOLCHAIN_FILE environment variable set in the images should not be there?

it should be set, but it's doing something unexpected in this case


Iterables.toArray does not return correctly typed array

In order to fix #393 I wanted to use org.assertj.core.util.Iterables#toArray for the proposed convenience methods.
However I noticed that the aforementioned toArray somehow does not return a correctly typed array. It returns an array of objects instead.
Here is some test code to reproduce the issue:
  @Test
  public void should_return_array_of_given_iterable_type() throws Exception {
    ArrayList<CharSequence> values = new ArrayList<>();
    values.add("one"); values.add("two");

    CharSequence[] result = Iterables.toArray(values);
  }

Fails with:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.CharSequence;
I debugged several toArray calls and it always returns Object[].
Am I doing something wrong?
I furthermore noticed that the Iterables class is marked to be removed? Just curious because I am working on a contribution for #393 where this util class would be nice to have :-)

Iterables won't be removed, it's just an old comment from the fest-assert days.
More comment later on your main question.

Any news? :-)

I think this was a utility method to convert an Iterable to an array, it is wrong as it always returns an Object[] because of calling toArray().
There is no way that I know of to return a generic array from an Iterable<T>, if you need such a method  you need to create one taking the class type as a parameter as explained here : http://stackoverflow.com/questions/6754554/reusable-method-to-transform-iterablet-to-t.
Note that assertj-core does not have dependencies by design so we can't just use guava.

Things are trickier than expected, your example test will never work (with or without your PR code).
It turns out that this test fails with a class cast exception in eclipse but work in maven, probably due to the eclipse compiler trying to cast Iterables.toArray(values) to a String[]
@Test
public void should_return_array_of_given_iterable_elements() throws Exception {
  assertThat(Iterables.toArray(values)).containsExactly("one", "two");
}

however rewriting this test as always works
@Test
public void should_return_array_of_given_iterable_elements() throws Exception {
  Object[] objects = Iterables.toArray(values);
  assertThat(objects).containsExactly("one", "two");
}

It seems that as long as you don't assign Iterables.toArray(values) to a "typed" array, everything runs fine ... tricky.

Hi Joel,
Note that I've left Iterable.toArray untouched (except the remark in its Javadoc). The link you posted from Stackoverflow mentioned that it's necessary to provide the type due to generic type erasure.
I've created a dedicated toArray(Iterable<? extends T> iterable, Class<T> type). So the original example code from above is obsolete. Sorry if I haven't pointed out the clear enough.
This should run assertThat(Iterables.toArray(values, String.class)).containsExactly("one", "two");.
Best regards,
André

Sorry I wasn't clear, there was nothing wrong in your PR.
I was just saying that the existing  Iterables.toArray(values) only worked if you don't assign the result to a strongly typed array.


Jakarta synop2bufr

Update of material to reflect workflow changes and use of web-app.

The users need to add a station to their station-list for the exercise and they will need to pretend the station belongs to their dataset.

add preparation-instruction "temporarily import 0-20000-0-15015 to your station-list and add it to your topic"
add cleanup-instruction at the end to remove the station

Copying the bufr produced to a bucket in MinIO will not allow the user to use bufr_dump on the file.

add instruction to download and then use WinSCP to put the file in "wis2box-data"-directory on the student-VM
the user can login to the wis2box-management container and the file will be available in /data/wis2box

(and I will write in wis2box-introduction.rst to use /home//wis2box-data" for the directory that is bound to /data/wis2box)


Raise Code Unit Test Coverage to 90-100%

Current state
Code coverage is at 72%.
Rationale

Increases robustness against regressions.
Increases community trust and encourages more contributions.

Goal
Raise it to ≥90-100%.

Important: Please ensure that tests are meaningful and cover edge cases, rather than just inflating the coverage percentage.

Resources

Codecov.io

https://github.com/orgs/alphanome-ai/discussions/17


[1.21] Infinite Music Options visual bug.

The options screen stacks every time the preset is changed, it then resets when the tab closes.
https://github.com/PlasticStrawActivist/Infinite-music-mod/assets/96512010/b73d52ed-f0d1-4205-8a39-2bd4864a2113

Thanks for reporting, fixed in the latest version


Replace orientation with custom page size

Enhancement replacing limited U.S. letter size portrait/landscape orientation parameter with more flexible pageSize parameter, per #56 . Supersedes PR #58, as it was easier to raise a new PR to comply with @privateOmega's request to rebase on develop.
Per my conventional commit notation, this is a breaking change. I understand @amrita-syn's concern about preserving backward-compatible functionality for an interim minor release but don't have further time to devote to this, so offer this PR as-is.

Merged the backward compatiable version in https://github.com/privateOmega/html-to-docx/pull/161. Thanks @KeithGillette for this PR and sorry for the delay.


fix(iam-role): ignore managed_policy_arns in late init

Description of your changes
description is here: https://github.com/upbound/provider-aws/issues/929#issuecomment-1774063901
skip managed_policy_arns for late init

Fixes #929
I have:

[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
Manual: https://github.com/upbound/provider-aws/issues/929#issuecomment-1774063901
Uptest: https://github.com/upbound/provider-aws/actions/runs/6611409372

@turkenf @jeanduplessis please take a look. I believe we require a fix release to address this issue, as fluctuating role policies can cause problems in a production environment.

/test-examples="examples/iam/role.yaml"

My main question is whether we should also skip late init on inline_policy

My main question is whether we should also skip late init on inline_policy

In order not to block this PR, we can handle inline_policy in another PR if it causes problems.

Thanks for the quick fix!


Considerations when source JSON changes version

I just ran into a situation where I had to change my model from an old version that stored an identifier as a String to a new version that stored an identifier as an Int. I could derive the Int from the old strings easily enough, but I could not find a way to use ObjectMapper to gracefully facilitate this repair when reading in serializations of the old model.
Here is a stripped down example:
class Gizmo: Mappable {

    var version: Int
    var id: Int?

    internal func mapping(map: Map) {
        version <- map["v"]
        id <- map["id"]
    }

    required init?(map: Map) { }

    func reset(fromJson json: String) {
        guard let newGizmo = Mapper<Gizmo>().map(JSONString: json) else {
            return
        }
        if newGizmo.id != nil {
            self.version = newGizmo.version
            self.id = newGizmo.id
        }
    }
}

Unfortunately, this approach does not let me intervene to correct the JSON when mapping a new Gizmo from JSON that represented the old version. Even if I have my old version JSON marked as version 1 and my new version marked as version 2, I cannot make a correction to the JSON to be used to map the newGizmo object before it fails to map the id because of the mismatched expectations.
In general I wonder how I can make ObjectMapper resilient when facing changing versions of the JSON serialization of the objects I wish to map?
For example, before the call to map in the reset function above, I'd like to check the incoming version number and adjust the remainder of the JSON accordingly. But ObjectMapper provides no way to read in that JSON in a generic way (without serializing objects), massage it, and then pass it along to the map function. Or better yet, is there a way to use the map function itself (currently empty) to facilitate this kind of versioning? Can MapContext be of some help?
I imagine I could use Freddy or other Swift JSON frameworks to accomplish this. But the need to check a version (or some other flag) in JSON and then adjust to accommodate older versions of serializations seems to be pretty basic. Is there something in ObjectMapper I am missing that facilitates this kind of check and repair?

In hunting around a bit more I am pretty convinced that MapContext was created to help with situations like this, but I am just not clear on how to apply it, the example is pretty sparse. In particular, I am not sure how to make the mapping asymmetric, in that I want to be able to read all old versions (making adjustments to bring their data up to date) but I only want to write out the most recent version.

Hi @efc , sorry for the slow response.
ObjectMapper is not officially set up to handle this type of scenario. You could potentially store the model version number within the MapContext and use that version number within the mapping function. See the below example. Hope this helps
mapping(map: Map){
    guard let (map.context as? Context)?.version else {
        return
    }

    if version == 1 {
         // v1 mappings
    } else {

    }
}

	struct Context: MapContext {
		let version: Int

		init(version: Int){
			self.version = version
		}
	}


Move CI code to shared library

Loaded from https://github.com/thiagoalessio/art-ci-toolkit (temporarily, if it works we should request a new openshift org repo)

Codecov Report

Merging #115 into master will not change coverage.
The diff coverage is n/a.

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

PR was just for testing, actual code is already living in master ;D


Windows containers: 0.42.0 affinity assistant doesn't work - missing Windows images

Problem occurred before: #4471
Changes to resolve it are still in-place, but the images for Windows are not present.

Expected Behavior
Tasks running on Windows can start.
Actual Behavior
After pipelines upgrade Windows pipelines (0.40.0 -> 0.42.0, opetator: 0.62 -> 0.64) stopped working because of:
reason: ImagePullBackOff
message: Back-off pulling image "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.42.0@sha256:77e43d0fc9f7e7bdfa31dc16082b08dace05ce81c91a06c00dfa2f547212ce72"

reason: ErrImagePull
message: 'rpc error: code = Unknown desc = no matching manifest for windows/amd64 10.0.17763 in the manifest list entries'

Same for: gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop@sha256:bd1fcc45d40a8ef1621789856caa2f54d7a884f19af921105feafae0131648c5 image
Affinity assistant doesn't work when using tasks running on Windows with workspaces as there's no Windows image entrypoint and nop.
Steps to Reproduce the Problem
---
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: tekton-verification-win
  namespace: default
spec:
  workspaces:
    - name: shared-workspace
  tasks:
    - name: print-message
      taskSpec:
        steps:
          - name: dummy
            image: mcr.microsoft.com/windows/servercore:1809
            script: |
              #!/bin/sh
              Write-Output dummy

---
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: tekton-verification-win
spec:
  pipelineRef:
    name: tekton-verification-win
  workspaces:
  - name: shared-workspace
    volumeClaimTemplate:
      spec:
        storageClassName: win
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
  podTemplate:
    nodeSelector:
      kubernetes.io/os: windows
    tolerations:
    - key: "windows"
      operator: "Equal"
      value: "true"
      effect: "NoSchedule"
    securityContext:
      windowsOptions:
        runAsUserName: "ContainerAdministrator"

Additional Info

Kubernetes version:
Output of kubectl version:

Server Version: version.Info{Major:"1", Minor:"23+", GitVersion:"v1.23.13-eks-fb459a0", GitCommit:"55bd5d5cb7d32bc35e4e050f536181196fb8c6f7", GitTreeState:"clean", BuildDate:"2022-10-24T20:35:40Z", GoVersion:"go1.17.13", Compiler:"gc", Platform:"linux/amd64"}

Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

v0.42.0

0.42.0 doesn't have those, we need to do a 0.42.1 release, which is not done yet.
Will try to work on that this week.


GIMP: does not reuse already running GIMP instance

Issue description
When GIMP is already running and I open another image from the commandline, the image should be opened in the already running GIMP instance (except if I use --new-instance).
But this is not the case; instead, a new GIMP instance is opened.
Steps to reproduce
$ gimp a
wait until GIMP has started
$ gimp b
Now, there are 2 GIMP instances / 2 GIMP windows instead of one.
Technical details

system: "x86_64-linux"
host os: Linux 4.9.75, NixOS, 17.09.3037.883a4ebe7ee (Hummingbird)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.12pre5788_e3013543
channels(root): "nixos-17.09.3037.883a4ebe7ee"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

Weird, I am almost sure that it opened files in the existing instance previously.

Is this a regression in the nixpkg for GIMP (that is, did it open separate instances before) or is this just expected behavior for GIMP?
Looking at GIMP on my system I suspect this is because it's launched with a wrapper.
$ cat $(which gimp)
#! /nix/store/jgw8hxx7wzkyhb2dr9hwsd9h2caaasdc-bash-4.4-p12/bin/bash -e
...
...
...
exec -a "$0" "/nix/store/2ldffql8sbq1ifbwdcp5nd6bmsm7pjrc-gimp-2.8.22/bin/.gimp-wrapped"  "${extraFlagsArray[@]}" "$@"

I'm not 100% on this, but I'm pretty sure with the way this is being execed this would always start a new process.

It works for me on NixOS unstable (nixos-20.03pre202088.e89b21504f3).
Can you reproduce this?

Wrapper should have nothing to do with this – new process would be started even without it.
The way this is usually implemented is that the new process will notice another instance is already running and pass its arguments to it via IPC. GApplication is common implementation of this, replacing the deprecated libunique, but GIMP predates it so it is probably not using that.

Closing as irreproducible and without feedback. Please comment with more info if you still experience this issue.


Add license_file entry

This will bundle LICENSE file when building sdist and wheels, which in turn is required by conda-forge (see https://github.com/conda-forge/sound_field_analysis-feedstock/pull/9)

@HaHeho  I don't have write access here so you will have to hit the merge button :)

Done, sorry for the delay. Let me know if or what we should do here in order to successfully get a new conda-forge release.
I'm pretty sure we can grant you write access here, if you want to? :)

Happy to have a look, write access might make that a bit easier :) not sure when I will get to it though


Could not connect to broker URL: tcp://xxx.bosh-lite.com:61616

I deployed two applications app1 and app2 to diego, in application app1, I started an activemq server, the port is 61616, in application app2, I create a java client to connect the activemq server in app1, but there is the following error, I can telnet app1.bosh-lite.com:61616 in command console of my lap-top, but can't do it in app2, I also tried the ip address of app1, got the same error
message: Could not connect to broker URL: tcp://app1.bosh-lite.com:61616. Reason: java.net.ConnectException: Connection refused

HI,@samdai
You can use 'cf security-groups' to check the security-group,if the diego network are not in them,maybe you need add a security-group to the apps' space.

Hi @wdxxs2z ,
I have tried your method, but didn't work, got the same error. The following is my steps:
(1) Create JSON-formatted rules file tcp_rule.json, the content of this file is as below, the format of my app's ip is 10.254.0.xx
[{"protocol":"tcp","destination":"<IP_ADDRESS>/24","ports":"1-65535"},
{"protocol":"udp","destination":"<IP_ADDRESS>/24","ports":"1-65535"}]

(2) Create security group using the rule file created in step 1:
cf cf create-security-group diego_networks ./tcp_rule.json

(3) Bind this security group to app's space
cf bind-security-group diego_networks diego diego

(4) Start app1 in diego, in app1, I started activemq sever, protocol is tcp, port is 61616, the url of this app 1 is "app1.bosh-lite.com"
(5) Then start app 2 in diego, in app 2, connect to "tcp://app1.bosh-lite.com:61616", but got the below error:
javax.jms.JMSException: Could not connect to broker URL: tcp://app1.bosh-lite.com:61616. Reason: java.net.ConnectException: Connection refused

@samdai what, precisely, are you trying to make work? You seem to expect a behavior that is not currently a mainline use case for Cloud Foundry and diego-release.
Diego, by default, expects applications inside containers to accept http on port 8080. Diego will then advertise routes to the application instances in the containers to the go router so the go router can forward http requests from clients to the app. Diego's health checks will ensure that the app can accept requests on that port (unless the health check has been explicitly disabled). If the app does not accept requests, Diego will treat the app instance as crashed, reap the container, and start a new instance in its place.
You have also stated that your'e going after app1.bosh-lite.com and app2.bosh-lite.com. Both of those names will resolve the same <IP_ADDRESS> IP address because *.bosh-lite.com is registered as a wildcard entry in DNS to handle all hosts in the domain so any expectation that app1.bosh-lite.com:61616 and app2.bosh-lite.com:61616 are different doesn't make a lot of sense.
Also,

You haven't said how you've deployed these apps - build pack or docker or something else.
You haven't said if you're trying to use the new tcp routing function and, if so, how you configured it.
You haven't provided any logs from cloud foundry, diego, or the app to establish context around the problem
Deploying infrastructure (such as active mq) to Diego in the context of Cloud Foundry is probably not what you want to do because of the ephemeral nature of containers hosting actual LRP instances and the lack of persistence and managed networking.

Basically, there's not a lot of information here that people can use to help you out; we'd like to - but we need more to work from. Please try to clearly articulate what you're doing and how.
I'd also recommend asking questions on the mailing list if you're unsure about how something should work.
Thanks.

Thanks, @samdai, and also to @sykesm for the extensive reply.
I

Thanks, @samdai, and also to @sykesm for the extensive reply.
I'd add that if you're trying to run the ActiveMQ server on Diego via a Docker image, and that if the Docker image metadata contains an EXPOSE directive for that 61616 port, the logic that runs the container on a Diego cell will set up the port-based NAT rules on that VM to direct traffic from some Garden-controlled port on the host's external IP address to port 61616 inside that container. So there's a hope that you'll be able to configure your CF and Diego deployments and your security group rules so that your client in app2 can communicate directly with the server in app1, but you'll also need the port-mapping information for that app1 container.
Anyway, as @sykesm suggests, please try to provide some more context both on the problem you're trying to solve and the details of what you are currently trying to arrange (including the versions of CF and Diego currently deployed to your BOSH-Lite).
(My apologies for the earlier truncated comment: it resulted from an unfortunate series of accidental keystrokes.)
Best,
Eric, CF Runtime Diego PM

Hi,@samdai
Tcp is not through the gorouter,maybe you can visit your router: http://<IP_ADDRESS>:8080/routes,and look up the activemq app,find the ip and port,use the ip and port.
You can find another project is:https://github.com/cloudfoundry-incubator/cf-routing-release.

First thanks @sykesm ,@ematpl and @wdxxs2z 's comments.
Environment:  CF version: v226   Diego version: v0.1442.0
Context:  I deploy app1 using java build pack, when start app1,  also start activemq server in the container that contains app1. For cf-routing-release, I also tried it, but has issue when work with CF version v226, I have raised issue in https://github.com/cloudfoundry-incubator/cf-routing-release/issues/16, when I use branch release-candidate for CF release,  the services (https://github.com/cloudfoundry-community/cf-services-contrib-release.git) can't be started.
Today I tried to run the ActiveMQ server on Diego via a Docker image "webcenter/activemq", in the dockerfile of this image, it exports port 61616. But after I execute the following commands:
cf docker-push activemq webcenter/activemq --no-start
cf enable-diego activemq
cf set-health-check activemq none
cf start activemq

When I scan the port of activemq.bosh-lite.com, found 61616 is not exported. Don't know how to set  port-mapping for it.
Port Scanning host: <IP_ADDRESS>

	 Open TCP Port: 	22     		ssh
	 Open TCP Port: 	80     		http
	 Open TCP Port: 	443    		https
	 Open TCP Port: 	2222   		rockwell-csp2
	 Open TCP Port: 	2825
	 Open TCP Port: 	4443   		pharos
	 Open TCP Port: 	8301   		amberon
	 Open TCP Port: 	33331  		diamondport
Port Scan has completed…

I also visit http://<IP_ADDRESS>:8080/routes, also can't find the 61616 port.

@samdai Thank you for the additional information.
I want to be clear about this because I think you missed it in the last response: any host name in the bosh-lite.com domain will resolve to <IP_ADDRESS>. That IP address is for the bosh job that runs the haproxy instance that sits in front of the gorouters. Your applications will not be running in that host - only a proxy runs there. (80 ==> http, 443 ==> https, 2222 ==> diego ssh proxy, 4443 ==> loggregator / websocket)
Your docker image (hosted by diego) will be running in a job called cell_z1. The amq server will be running inside of a container with a private, inaccessible address and listening on port 61616. The IP address and port that the server is listening on will not be the address and port users need to connect to.
When a port is exposed from a docker image, a DNAT entry is created on the VM that hosts the container to forward requests received on a host IP and port to the server running inside the container. That means that requests need to go to the address of the hosting vm (cell_z1's address in the case of bosh-lite) at the mapped port allocated by garden. You will need to determine the port number allocated on the host by garden.
@ematpl can probably give you directions but you should be able to find the port mapping in the actual LRP data for your container. You can also look at the DNAT rules on the cell VM to find which port will forward to 61616 in your container. (iptables -L -n -v -t nat | grep 61616)
Once you get the correct host and port, you can create TCP routing rules or, i you choose, you can modify the security group rules, turn on 'allow host access' in garden, and use the cell's host and port directly. This really isn't recommended but, again, without knowing what you're trying to do...
If all you want is an amq server running to support your app, you can just start one outside of cloud foundry and use a user-provided service to point to it for your app.
I still recommend the mailing list for q&a and discussions.
Hopefully that helps a bit.

Thanks @sykesm, I agree with you, it's better to start activemq outside of cloud foundry and use a user-provided service to point to it from app.

ok for me with :
factory.setBrokerURL("vm://localhost?broker.persistent=false");


Create an SAP HANA Database Project

Tutorial: https://developers.sap.com/tutorials/hana-cloud-create-db-project.html
Write here what you need help with ...
during the Step 4: Deploy the database module > https://developers.sap.com/tutorials/hana-cloud-create-db-project.html
I did as the tutorial are indicating but for me i have this message erro when i execute the step 4
Error: HDI make failed
(1s 847ms)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! deploy@ start: node<EMAIL_ADDRESS>"--exit"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the deploy@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2021-01-18T17_31_39_957Z-debug.log

Is that the whole log?  I seems like there should be more details in the log as the root of the error.

Is that the whole log?  I seems like there should be more details in the log as the root of the error.

Thank you for your feedback. We haven't heard from you in a while, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Whitespace fixes from Py2 version applied to Py3.

This makes the Python 3 version of about_regex.py identical to the
Python 2 version.
Most of the whitespace and grammar fixes were made to only the Python 2
version on Fri 10 Feb 2012 by gregmalcolm, as part of a larger commit:
Merged generators fix from engored and pep8 fixes from sietsebb via bitbucket mirror
https://github.com/gregmalcolm/python_koans/commit/d65e6904712416c663abd2a67dcf2d71153015c2#diff-612bda3dc05c74b8fdd16c0df2dd28c8
(Only about a half-dozen minor changes have been made since then.)

Thanks! I was a bit hasty about bringing in the regex part without cleaning up more, so any gardening of the regex file is appreciated


Fix Token 2022 ATA constraint

Fixes #2434 for Token 2022 ATA constraints by using get_associated_token_address_with_program_id.

Thank you! Can you add a test case for this?


SqlServer:  is of type 'string' which is not supported by current database provider

After upgrading to ef core 2.1 from 2.0.3 I get the following:
System.InvalidOperationException : The property 'MyColumn' is of type 'string' which is not supported by current database provider. Either change the property CLR type or ignore the property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.
Stack Trace:
   at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.PropertyMappingValidationConvention.Apply(InternalModelBuilder modelBuilder)
   at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelBuilt(InternalModelBuilder modelBuilder)
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, IModelValidator validator)
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Lazy`1.CreateValue()
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
   at Microsoft.EntityFrameworkCore.DbContext.get_Model()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityType()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.get_EntityQueryable()
   at Microsoft.EntityFrameworkCore.Internal.InternalDbSet`1.System.Linq.IQueryable.get_Provider()
   at System.Linq.Queryable.Join[TOuter,TInner,TKey,TResult](IQueryable`1 outer, IEnumerable`1 inner, Expression`1 outerKeySelector, Expression`1 innerKeySelector, Expression`1 resultSelector)
   at Acme.Extranet.Stats.Statistics.Storage.Repositories.ConstraintBuilder.Build(DBContext dbContext, Query query) in /Users/donal/code/acme/poc-backend/Source/Statistics.Storage/Repositories/ConstraintBuilder.cs:line 101
   at Test.Unit.Statistics.Storage.Repositories.ConstraintBuilderTest.TestQueryBuild() in /Users/donal/code/acme/poc-backend/Source/Tests/Test.Unit.Statistics.Storage/Repositories/ConstraintBuilderTest.cs:line 76

Steps to reproduce
I used db scaffold (dotnet ef dbcontext scaffold ...) to generate models.
When using 2.0.3 everything works fine. Switch to 2.1.0 and regenerate models then I get the exception
My csproj:
...
<ItemGroup>
    <PackageReference Include="AutoMapper" Version="6.2.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
  </ItemGroup>
...

Further technical details
EF Core version: (found in project.csproj or packages.config)
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Mac
IDE: Vscode

@byrnedo Do you reference any other packages/runtimes, such as for ASP.NET. Are you targeting .NET Core 2.0 or 2.1?

I'm quite new to c#/dotnet so not entirely sure but it's netstandard2.0.
Full csproj (I took away relational since it seemed to already be a dep of SqlServer):
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <AssemblyName>xxxx</AssemblyName>
    <RootNamespace>xxxx</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper" Version="6.2.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Statistics.Domain\Statistics.Domain.csproj" />
  </ItemGroup>
</Project>

@byrnedo We looked at this in triage, but I think we're going to need a repro to make progress. Can you please post a runnable project/solution that demonstrates the behavior you are seeing?

@ajcvickers  I created my models and context using the dotnet ef dbcontext scaffold command if that helps.
Ok, will try and put together something. Thanks for the quick response.

@ajcvickers We narrowed it down: it's when the fluent api declares that a column type is a custom sql server type (user defined type or type alias).
Culprit code:
entity.Property(e => e.DepartureDate)
                    .HasColumnName("DEPARTURE_DATE")
                    .HasColumnType("CUSTOMSTRING")
                    .HasMaxLength(6)
                    .IsUnicode(false);

CUSTOMSTRING is user defined alias of VARCHAR(6).
This generated fluent api works with 2.0.x, just not with 2.1.0.

@byrnedo I am still not able to reproduce this. I created a simple database to match the following model and then ran the code and did not see any exception.
public class Blog
{
    public int Id { get; set; }
    public string DepartureDate { get; set; }
}

public class BloggingContext : DbContext
{
    private static readonly LoggerFactory _logger
        = new LoggerFactory(new[] { new ConsoleLoggerProvider((_, __) => true, true) });

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder
            .UseLoggerFactory(_logger)
            .UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Test;ConnectRetryCount=0");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder
            .Entity<Blog>()
            .Property(e => e.DepartureDate)
            .HasColumnName("DEPARTURE_DATE")
            .HasColumnType("CUSTOMSTRING")
            .HasMaxLength(6)
            .IsUnicode(false);
    }
}

public class Program
{
    public static void Main()
    {
        using (var context = new BloggingContext())
        {
            context.Add(new Blog {DepartureDate = "Now!"});
            context.SaveChanges();
        }

        using (var context = new BloggingContext())
        {
            var blogs = context.Set<Blog>().Where(e => e.DepartureDate == "Now!").ToList();
        }
    }
}

@ajcvickers it seems like it was only 2 types that it didnt like. I'm not sure what was different with those compared to the rest of the types. I got round it for now by just replacing those columns in the generated context with the underlying type.


happy to see this is being maintained again! wouldn't have set up a vpn without it.

PiVPN is no longer maintained, see the README

PiVPN Issue Template

Issue
Have you searched for similar issues and solutions?
(yes/no / which issues?)

Console output of curl -L install.pivpn.io | bash
  Output Here

Console output of pivpn add or pivpn add nopass
  Output Here

Console output of pivpn debug
  Output Here

Console Output of sudo iptables -t nat -S
  Output Here

Console Output of sudo iptables -S
  Output Here

output of sudo netstat -uanp | grep openvpn
  Output Here

Have you taken any steps towards solving your issue?
 which?

@mrsteve0924 Thanks for your support. @james-lasersoft This issue can be closed.

The project is getting back on track!
Thanks to you all that have been keeping the boat sailing,
If all goes well i might be back to maintain this wonderfull project very soon.
Kind Regards to you all.
closing issue.


Question/Suggestion about gravity

Greeting, i use the OTG : Skylands generator and it seem that all the gravel is falling and make boulders (and make the world also laggy because of everything falling). Is there an option in the setting of OTG to make the gravel not fall ?
(There is this option in another terrain generator like SB_Skylands https://www.spigotmc.org/resources/sb-skylands.24253/ )
Regards

Post it on reddit


Allow terminal configuration on Linux (currently hard-coded to gnome-terminal).

I don't use gnome, and thus don't use gnome-terminal, but VSCode REALLY wants me to. I scaffolded out a new asp.net web project and can run it just fine from my terminal using 'dnx web', but trying to use 'dnx: web' from the command palette inside VSCode tries to launch gnome-terminal, which obviously fails, with the following error:
Error: spawn /usr/bin/gnome-terminal ENOENT
Note that I located workbench.main.js which appears to be the file that is referenced to open the terminal, however changing "usr/bin/gnome-terminal" to "usr/bin/x-terminal-emulator" didn't help. I didn't get any errors, but no terminal opened either... I would have expected it to use whatever terminal I configured in Linux at that point, instead of the hard coded gnome terminal.
I also tried "usr/bin/lxterminal" but that didn't work either...

I solved this by a simple sudo apt-get install gnome-terminal. It is only 11 mb and the seamless experience is worth it

@mosamy: That is more of a work around for the poorly designed, hard-coded, implementation currenty provided by VSCode.
A configurable option would be much more appropriate. The fact something like this was hard-coded at all makes me wonder what other hidden gems l'm bound to uncover.

It's that hard adding one key into the config? :-1:  Okay.

This issue was moved to OmniSharp/omnisharp-vscode#3


There is no lexer for asp.net

(Original issue 357 created by thatch on 2008-08-19T20:47:12+00:00)

(Original issue was assigned to gbrandl)
(Original issue 357 last updated on 2009-02-19T17:29:31+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by thatch on 2009-02-19T17:29:31+00:00)
Done in [5c53d7739103]

(Original comment by gbrandl on 2008-09-11T22:37:43+00:00)
As long as nobody writes a lexer for this, moving to Someday.


Schema introspection request to public API is broken

This presumably has something to do with the logging updates introduced in the latest release. When issuing a request to the API:
   (1.8ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by GraphqlController#execute as */*
  Parameters: {"query"=>"query IntrospectionQuery {\n  __schema {\n    queryType {\n      name\n    }\n    mutationType {\n      name\n    }\n    subscriptionType {\n      name\n    }\n    types {\n      ...FullType\n    }\n    directives {\n      name\n      description\n      locations\n      args {\n        ...InputValue\n      }\n    }\n  }\n}\n\nfragment FullType on __Type {\n  kind\n  name\n  description\n  fields(includeDeprecated: true) {\n    name\n    description\n    args {\n      ...InputValue\n    }\n    type {\n      ...TypeRef\n    }\n    isDeprecated\n    deprecationReason\n  }\n  inputFields {\n    ...InputValue\n  }\n  interfaces {\n    ...TypeRef\n  }\n  enumValues(includeDeprecated: true) {\n    name\n    description\n    isDeprecated\n    deprecationReason\n  }\n  possibleTypes {\n    ...TypeRef\n  }\n}\n\nfragment InputValue on __InputValue {\n  name\n  description\n  type {\n    ...TypeRef\n  }\n  defaultValue\n}\n\nfragment TypeRef on __Type {\n  kind\n  name\n  ofType {\n    kind\n    name\n    ofType {\n      kind\n      name\n      ofType {\n        kind\n        name\n        ofType {\n          kind\n          name\n          ofType {\n            kind\n            name\n            ofType {\n              kind\n              name\n              ofType {\n                kind\n                name\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}", "graphql"=>{"query"=>"query IntrospectionQuery {\n  __schema {\n    queryType {\n      name\n    }\n    mutationType {\n      name\n    }\n    subscriptionType {\n      name\n    }\n    types {\n      ...FullType\n    }\n    directives {\n      name\n      description\n      locations\n      args {\n        ...InputValue\n      }\n    }\n  }\n}\n\nfragment FullType on __Type {\n  kind\n  name\n  description\n  fields(includeDeprecated: true) {\n    name\n    description\n    args {\n      ...InputValue\n    }\n    type {\n      ...TypeRef\n    }\n    isDeprecated\n    deprecationReason\n  }\n  inputFields {\n    ...InputValue\n  }\n  interfaces {\n    ...TypeRef\n  }\n  enumValues(includeDeprecated: true) {\n    name\n    description\n    isDeprecated\n    deprecationReason\n  }\n  possibleTypes {\n    ...TypeRef\n  }\n}\n\nfragment InputValue on __InputValue {\n  name\n  description\n  type {\n    ...TypeRef\n  }\n  defaultValue\n}\n\nfragment TypeRef on __Type {\n  kind\n  name\n  ofType {\n    kind\n    name\n    ofType {\n      kind\n      name\n      ofType {\n        kind\n        name\n        ofType {\n          kind\n          name\n          ofType {\n            kind\n            name\n            ofType {\n              kind\n              name\n              ofType {\n                kind\n                name\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}"}}
undefined method `flatten' for nil:NilClass

      results.flatten.tap { _1.select! { |r| r.is_a?(GraphQL::AnalysisError) } }
             ^^^^^^^^
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:90:in `analysis_errors'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:42:in `block (2 levels) in analyze_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:41:in `each'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:41:in `each_with_index'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:41:in `block in analyze_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/tracing/trace.rb:32:in `analyze_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/analysis.rb:25:in `analyze_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/execution/interpreter.rb:47:in `block in run_all'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/tracing/trace.rb:40:in `execute_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-batch-0.5.4/lib/graphql/batch/setup_multiplex.rb:24:in `execute_multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/execution/interpreter.rb:38:in `run_all'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/schema.rb:1375:in `multiplex'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/graphql-2.3.18/lib/graphql/schema.rb:1351:in `execute'
/Users/jss009/code/dgidb-v5/server/app/controllers/graphql_controller.rb:19:in `execute'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/abstract_controller/base.rb:228:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/rendering.rb:30:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:98:in `run_callbacks'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/abstract_controller/callbacks.rb:41:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/rescue.rb:22:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:203:in `block in instrument'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:203:in `instrument'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/instrumentation.rb:33:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/abstract_controller/base.rb:165:in `process'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal.rb:190:in `dispatch'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal.rb:254:in `dispatch'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:33:in `serve'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/journey/router.rb:32:in `each'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/journey/router.rb:32:in `serve'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/routing/route_set.rb:842:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-2.2.10/lib/rack/etag.rb:27:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-2.2.10/lib/rack/conditional_get.rb:40:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-2.2.10/lib/rack/head.rb:12:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/migration.rb:601:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:98:in `run_callbacks'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/executor.rb:14:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/railties-<IP_ADDRESS>/lib/rails/rack/logger.rb:37:in `call_app'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/railties-<IP_ADDRESS>/lib/rails/rack/logger.rb:26:in `block in call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:99:in `block in tagged'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:37:in `tagged'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:99:in `tagged'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/railties-<IP_ADDRESS>/lib/rails/rack/logger.rb:26:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-2.2.10/lib/rack/runtime.rb:22:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/executor.rb:14:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/static.rb:24:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-2.2.10/lib/rack/sendfile.rb:110:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/host_authorization.rb:148:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-mini-profiler-3.3.1/lib/mini_profiler.rb:334:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/rack-cors-2.0.2/lib/rack/cors.rb:102:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:539:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/configuration.rb:272:in `call'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/request.rb:100:in `block in handle_request'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/request.rb:99:in `handle_request'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/server.rb:464:in `process_client'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/server.rb:245:in `block in run'
/Users/jss009/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/puma-6.4.3/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
Completed 500 Internal Server Error in 40ms (Views: 0.4ms | ActiveRecord: 0.0ms | Allocations: 32297)

Wait, I'm dumb. The problem is the client's schema

You can still make schema-ignorant queries but the schema itself is inaccessible:


add name parameter to the DeepLabCutInterface

This PR should fix the issue described in  #915.
It consists in the small addition of a name argument to the DeepLabCutInterface that allows users to specify names different from the nwb-pose default PoseEstimation (https://github.com/rly/ndx-pose/blob/a847ad4be75e60ef9e413b8cbfc99c616fc9fd05/spec/ndx-pose.extensions.yaml#L71).
To work, the call to dlc2nwb. _write_pes_to_nwbfile() should accept additional arguments, as described in https://github.com/DeepLabCut/DLC2NWB/issues/24. At the moment, and until dlc2nwb  people give feedback on that issue, this functionality would require a different fork of dlc2nwb: https://github.com/vigji/DLC2NWB.

Reasonable suggestion! Let me know if there is anything else I should do

Last thing to do would be to add a new test case that uses this new feature after the current test case: https://github.com/catalystneuro/neuroconv/blob/main/tests/test_on_data/test_behavior_interfaces.py#L317
Which would also require setting developer dependencies (in the form of git+https://github.com/vigji/dlc2nwb.git@main) to install the version of the DLC tools that allow for it so we can make sure both packages work well together

Last thing to do would be to add a new test case that uses this new feature after the current test case: https://github.com/catalystneuro/neuroconv/blob/main/tests/test_on_data/test_behavior_interfaces.py#L317

Hope I did this correctly

Which would also require setting developer dependencies (in the form of git+https://github.com/vigji/dlc2nwb.git@main to https://github.com/catalystneuro/neuroconv/blob/main/src/neuroconv/datainterfaces/behavior/deeplabcut/requirements.txt) to install the version of the DLC tools that allow for it so we can make sure both packages work well together

I changed this in requirements-testing.txt, is this correct?

Test looks good! Will need to wait a bit to merge upstream before getting this through
Thanks for all the work

Perfect, let me know if there's anything more I need to take care of, and thank you :)

After having tested this in parallel with the VideoInterface for the conversion project, I have to say I am slightly annoyed by the different approaches to solve the same issue: an argument to the object instantiation there, an optional parameter to the conversion function call here. Should I change this to be consistent with VideoInterface? What would be your approach? Am I missing something?

The usual excuse for that is that various decisions were made for the sake of maintaining back-compatibility; the video interfaces is one of our oldest and most used interfaces after all (since it is so generic) - so if we were to change something fundamental about it, it might cause problems for a number of conversion pipelines
That said, we do try to standardize these things with slow deprecation cycles every now and again. Enhancing the video interfaces is something we've wanted to do for a while now but no one has had the time to implement all improvements

Perfectly reasonable! So the strategy used here for the DeeplacutInterface is the way to go, correct?

Yes, something like a container name seems to me something more relevant as a conversion option (this is also the case in ophys/ecephys modules here)
Just waiting on the upstream repo to respond to PR and we can get this through. I'll inject myself there soon otherwise just to get this done

@vigji Sorry this took so long; we're just taking matters into our own hands at this point
There should be a box somewhere on this PR about giving reviewers permission to push code or something like that - if you check that box I'd be happy to make the required changes to get this through

Great! thanks! Could not find such button but I should have applied all changes.

@vigji There is a remaining merge conflict which must be resolved via the CLI (be sure to try to merge port_dlc2nwb on our end)

Thanks again @vigji !


Document personas for Meltano ELT

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2001
Originally created by @DouweM on 2020-04-30 17:02:59

View 11 previous comments from the original issue on GitLab


"Page: delete" command fails

Deleting a page with the command does not work, with the following error:
silverbullet-1  | Deleting file Library/Extra/Snippet/taskp.md
silverbullet-1  | An exception was thrown as a result of invoking function showIfEnabled error: Unregistered syscall clientStore.get
silverbullet-1  | Error dispatching event page:deleted to treeview.showIfEnabled: Unregistered syscall clientStore.get
silverbullet-1  | Error deleting attachment Error: Unregistered syscall clientStore.get
silverbullet-1  |     at wa.onMessage (file:///silverbullet.js:117:27964)
silverbullet-1  |     at Worker.worker.onmessage (file:///silverbullet.js:117:27483)
silverbullet-1  |     at Worker.wrappedHandler (ext:deno_web/02_event.js:1401:12)
silverbullet-1  |     at innerInvokeEventListeners (ext:deno_web/02_event.js:754:7)
silverbullet-1  |     at invokeEventListeners (ext:deno_web/02_event.js:801:5)
silverbullet-1  |     at dispatch (ext:deno_web/02_event.js:658:9)
silverbullet-1  |     at Worker.dispatchEvent (ext:deno_web/02_event.js:1043:12)
silverbullet-1  |     at Worker.#pollMessages (ext:runtime/11_workers.js:258:12)
silverbullet-1  |     at eventLoopTick (ext:core/01_core.js:169:7)

Please upgrade your TreeView plug with Plugs: Update

Cc @joekrill

(but deleting still fails with the treeview plugin updated)

Ok, yeah @joekrill may have an idea what's going on there.

Sorry all! I'll take a look at this today and try to get a fix out ASAP.


[wasm][cmake] Add WASI specific stdlib dependencies

WASI target has its own libc module WASILibc, so we need to add it as well as other libc modules.

@swift-ci Please smoke test

@swift-ci build toolchain


Test footer presence

Covers ticket https://github.com/gnosis/safe-react/issues/2714
I've creted a new test file called app_layout.test.js
Runs in PR environment -> PR=2766

Accidentally I've formatted utils/selectorsHelpers.js which resulted in the file being more coherently formatted.

As you can see, the Add/remove Owners test rose up in the coverage report. This is happening in every PR.
I've added a .sort() in the report script, so if you pull from main, it should hopefully go away.

The coverage report hasn't changed somehow 🤔

Must have been me accepting the change when rebasing. Will add another commit


Screen flicker after any input with new renderer enabled

Windows Terminal version
1.14.1432.0
Windows build number
10.0.19043.0
Other Software
GPU: Intel® HD Graphics 520 (Driver Version: <IP_ADDRESS>0)
Steps to reproduce

Enable experimental text rendering engine
Disable acrylic material
Choose Campbell colorscheme
Place the terminal windows in front of a dark background
Observe delayed flickering after typing a character

Expected Behavior
No flickering
Actual Behavior
This might be related to https://github.com/microsoft/terminal/issues/4528 but is also a bit different.
I only have this issue with the new renderer and disabled acrylic material. Enabling acrylic, even with the slider set to 100, fixes the issue.
The flickering is only visible with certain scheme/background combinations.

I'm seeing exactly the same behavior: with AtlasEngine enabled, there is a some serious flickering. Disabling AtlasEngine fixes the problem.
Windows Terminal Version: 1.16.2524.0
Edition	Windows 11 Pro
Version	21H2
OS build	22000.978
Experience	Windows Feature Experience Pack 1000.22000.978.0

I get the feeling that this is an MPO bug in the driver, but we'll see if #14959 fixes this, because it handles swap chains a bit differently.


Npm and travis changes

Update travis to use node 0.12 instead of node 0.10. And update all of the npm packages to the latest.

Merged #88


Permission error with a remote (dockerized) repository

Extension version: v0.58.1
VSCode Version: 1.75.1 (Universal)
OS: M1 Mac Ventura 13.2.1

I am using the Dev Containers extension to connect to a dockerized repository and am encountering this error from the Pull Request extension:

An error occurred when fetching the repository: fatal: detected dubious ownership in repository at '/app' To add an exception for this directory, call: git config --global --add safe.directory /app

I have plumbed my $USER and $UID through docker-compose.yml to the Dockerfile and used them to create my container user (from Dockerfile, edited for brevity):
ENV UID $UID
ENV USER $USER
...
useradd -u $UID -m -s /bin/zsh $USER
...
USER $UID
WORKDIR /home/$USER
WORKDIR /app

and the repository cloned on my host and mounted into the container (from docker-compose.yml):
volumes:
  - .:/app:cached

This has all been working for some time and is sufficient to make editing/ownership transparently the same whether I am editing files on the host or in the container.
However, I get this aforementioned error popup every time I start VSCode.  The extension seems to otherwise be working fine, so I can just ignore this but am wondering if there is some configuration I'm missing or possibly there is a bug in the extension.
I realize I could do the git config thing suggested by the error message, but it seems unnecessary given my setup.
Thanks!

@navels could this be the same as https://github.com/microsoft/vscode/issues/172669? We're likely just surfacing the error from git.

Okay woot I just ran into this error using the built-in Git plugin, so closing this issue and will continue to investigate.