[ENH] - Ensure that default Dask Gateway environment matches active kernel environment

Feature description
Currently, the dask gateway cluster option defaults to the first environment available rather than the environment actually being used by the notebook. If the environment doesn't have dask in it then the next stage just hangs. It is really easy not to notice that the environment being used by dask-gateway is the wrong environment when running through all the cells.
I propose that we ensure the the default conda environment for dask be the one being actively being used by the jupyter kernel since that is the most sensible default.
In the example below we see that the filesystem/dashboard env is the default, even though the notebook is running filesystem/dask
from dask_gateway import Gateway
gateway = Gateway()

options = gateway.cluster_options()
options

Value and/or benefit
Makes using Dask-Gateway less error prone and improves usability.
Anything else?
No response

This will definitely need investigation. Googling breifly I don't see a staightforward way to get the jupyter kernel name without javascript.

This also gets into the reproducibility angle and dashboarding. i.e. knowing the Kendall and putting it in the metadata can help with reproduction and also with picking a good default environment for dashboard sharing.

There seems to be a default config yaml that can be loaded in here https://gateway.dask.org/configuration-user.html#default-configuration which has the luster options in it -- we might be able to set the env programmatically in there I think... but don't know how that interferes with the gateway.cluster_options()

c.c @costrouc I think this is exactly what we need https://docs.dask.org/en/latest/deploying-kubernetes-helm.html?highlight=conda environemt#matching-the-user-environment

We can set the filesystem/dask env as default, which can be overwritten easily using the cluster options GUI. The only issue is that cant automatically detect the active environment with this... unless we do something during the deployment (aka bash with conda active env variable) to dynamically update this file .config/dask/gateway.yaml

HI @Chris Ostrouchov about the Gateway default option for cluster env, what do you think of using the above approach?

@viniciusdc

I forgot about this, I will open a PR as this is now easier to achieve using conda-store endpoints


Illegal instruction exception on vector instructions in Linux user-mode programs

I'm running Saturn+Shuttle on a custom FPGA platform, and successfully boot mainline Linux 6.1.114. Programs without vector instructions are working fine.
However, many vector programs raise illegal exception on the first vector instruction executed after vset{i}vl{i}. The programs are all tested on Spike and runs normally. The failing asm sequence is below. (this program is the start of vaadd_vv-0 testcase from riscv-vector-tests, compiled with MODE=user, if relevant)
0000000080000000 <_start>:
    80000000:	00000297          	auipc	t0,0x0
    80000004:	00c28293          	addi	t0,t0,12 # 8000000c <_start+0xc>
    80000008:	8282                	jr	t0
    8000000a:	0001                	nop
    8000000c:	003072d7          	vsetvli	t0,zero,e8,m8,tu,mu
    80000010:	5e003057          	vmv.v.i	v0,0     # <- illegal instruction raised here
    80000014:	5e003457          	vmv.v.i	v8,0
    80000018:	5e003857          	vmv.v.i	v16,0
    8000001c:	5e003c57          	vmv.v.i	v24,0
    80000020:	00a05073          	csrwi	vxrm,0
    80000024:	0000f517          	auipc	a0,0xf
    80000028:	0dc50513          	addi	a0,a0,220 # 8000f100 <testdata>

Linux kernel dmesg on this exception:
# ./vaadd_vv-0
[ 1122.705050] vaadd_vv-0[145]: unhandled signal 4 code 0x1 at 0x0000000080000010 in vaadd_vv-0[80000000+e000]
[ 1122.737900] CPU: 0 PID: 145 Comm: vaadd_vv-0 Not tainted 6.1.114 #2
[ 1122.758400] Hardware name: ucb-bar,chipyard (DT)
[ 1122.773450] epc :<PHONE_NUMBER>000010 ra : 0000002abe650ef4 sp : 0000003fc7295d10
[ 1122.796550]  gp : 0000002abe6efd90 tp : 0000003fb1498780 t0 :<PHONE_NUMBER>000200
[ 1122.819750]  t1 : 0000002abe60ae8c t2 : 0000002abe6ca118 s0 : 0000002abe6f1670
[ 1122.842850]  s1 : 0000002abe6f1648 a0 :<PHONE_NUMBER>000000 a1 : 0000002abe6f1670
[ 1122.865950]  a2 : 0000002abe6f1680 a3 : 7f7f7f7f7f7f7f7f a4 :<PHONE_NUMBER>008000
[ 1122.889200]  a5 :<PHONE_NUMBER>00002f a6 : 2f2f2f2f2f2f2f2f a7 :<PHONE_NUMBER>0000dd
[ 1122.912200]  s2 : 0000002abe6f1680 s3 : 0000002abe6e6841 s4 : 0000002abe6c9f18
[ 1122.935250]  s5 : 0000002abe6efec8 s6 :<PHONE_NUMBER>000008 s7 :<PHONE_NUMBER>000000
[ 1122.958300]  s8 : 0000002abe6f1648 s9 :<PHONE_NUMBER>000000 s10:<PHONE_NUMBER>000000
[ 1122.981650]  s11: 0000002abe6f1668 t3 : 0000003fb15583d8 t4 : 8cff8b8c85d1cfd2
[ 1123.004700]  t5 :<PHONE_NUMBER>000018 t6 :<PHONE_NUMBER>00003c
[ 1123.021850] status:<PHONE_NUMBER>004620 badaddr: 000000005e003057 cause:<PHONE_NUMBER>000002
Illegal instruction

Upon further inspection, I found if I insert 5 or more 16-bit NOP instruction between vsetvli on 0x8000000c and vmv.v.i on 0x80000010, the program can run normally without exception. Also, further vector instructions in the same program won't raise exception, only the first vector instruction fetched raise this exception. The modified asm looks like:
    8000000c:	003072d7          	vsetvli	t0,zero,e8,m8,tu,mu
    80000010:	0001                	nop    # <- injected NOPs
    80000012:	0001                	nop
    80000014:	0001                	nop
    80000016:	0001                	nop
    80000018:	0001                	nop
    8000001a:	5e003057          	vmv.v.i	v0,0
    8000001e:	5e003457          	vmv.v.i	v8,0
    80000022:	5e003857          	vmv.v.i	v16,0
    80000026:	5e003c57          	vmv.v.i	v24,0

I tested the same on both GENV256D128ShuttleConfig and REFV512D512ShuttleConfig, the results seem the same. I'm guessing this is caused by dependencies of status.VS to other vector instructions not correctly handled by Shuttle core. Since the added NOPs could have break this dependency. Additionally, Saturn+Rocket (REFV256D128RocketConfig) works normally without this issue.
However, since I'm running on a FPGA platform, getting detailed waveform can be a little tricky. So I'm filing this issue to ask for any help or ideas, thanks a lot for this awesome project!

Thanks for reporting this. I wasn't able to reproduce this, oddly, but I suspect your analysis might be on to something.
What is odd is that status.VS should already be enabled (not 0) prior to the vsetvl in userspace Linux. So the dependency that would cause an illegal instruction is vtype.vill, but I can confirm in my testing that vtype.vill is being forwarded correctly to a vector instruction proceeding after a vset.
Can you clarify what versions of Shuttle and Saturn you are using?

I'm currently using chipyard 1.13.0 with bundled Saturn (4ed795bc) + Shuttle (b431fecd). In my setup I added some modifications for running on FPGA (add MMIO and slave port, unified clock frequency, etc.), I also used a custom verilog top module to connect to the SoC, but I don't think they are relevant to this issue.
saturn-issue60.zip
Attached is some waveform I captured on FPGA, it seems vill is not set around the decode stage of vmv.v.i, but I forgot to add status register to the ILA, so I wonder if it is helpful. If more signals trace are needed, I can help on this (need to re-synthesis the design though)

Thanks for your test, I added vill and a bunch of vector related signals to ILA, and captured two waveforms for comparison using the original code (failed) and NOPs inserted code (success).
It looks like vill was not set at all on any of the waveforms, so I think it does not caused the exception. However, in the failed waveform, CSRFile reported a lot of read_illegal and vector_illegal, so maybe that's the cause.
Waveforms: vaadd_vv_waveforms.zip, you can have a look at them, thanks!

Interesting, it looks like mstatus.VS is set to Off in this code. So the real bug is that the first vset should have trapped, while the implementation did not trap.
The fix for shuttle and rocket are here:  https://github.com/chipsalliance/rocket-chip/pull/3692 https://github.com/ucb-bar/shuttle/pull/7
I think the kernel has to be compiled with vector support such that VS is set to 1 (Initial) in user code.

Thanks for the fix! I also updated kernel to 6.11.4 with CONFIG_RISCV_ISA_V=y and CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y, everything works fine now. I'm closing the issue.


can we fade in the images instead of just popup?

can we fade in the images instead of just popup?

I use the following to fade in the images:
js
jQuery('img.lazy').on('load', function(){
  this.style.opacity = 1;
});
jQuery('img.lazy').lazyload();

css
img.lazy {
     opacity: 0;
    transition: opacity .2s ease-in-out;
}


Fixing typos in docs

Really interesting work going on! I was reading the docs an noticed a few typos. Hope the fixes are OK :)

Thanks. Merged!


Request: WASM implementation of the LERC decoder

Compared with the existing JS, WASM should have significantly higher performance for something as compute intensive as a data/image compression.

@lucianpls  According to  https://en.wikipedia.org/wiki/WebAssembly/
there are ways to compile C/C++ to Wasm:  " ... a standalone Clang can compile C and C++ to Wasm". So a Wasm Lerc decoder might take less work than a JS Lerc decoder.

Nice, although it should be better than that. Some browsers need to run the WASM code a few times in the interpreter before converting it to native code. The technology is evolving too.

It's also best to avoid calls between JS and Wasm as much as possible.


Support ALTER SEQUENCE

Part of #112
Did a little refactoring mostly around the deparser (sharing a common class) and made a common production for SequenceProperties (both alter/create can use it).
Once this is merged, I'll follow up with a DROP SEQUENCE pr, and that should complete the sequences feature (at least for oracle syntax)

Coverage decreased (-0.01%) to 83.417% when pulling fb1f135410aaf90ec89e95669aaf57210266560c on AnEmortalKid:alterseq into 08b9477ef28a377eb8b8e499dfc46c9bfad7cf84 on JSQLParser:master.


factor out ConvBlock in UNet

I don't think this actually works the way you want it to cause we are using conv_block in the init. So changing it after super().init() won't do anything


I cannot find tensorflow 1.10.5

When I use conda search
I can find version 1.10.0 , 1.11.0..., I dont know if it may matter if I choose version 1.10.0.
Or, Where could I find version 1.10.5.
Sorry I am a newer for tf

would be nice to just setup a dockerFile and avoid all these setup issues...
(been struggling with mujoco_py myself for the last couple of days)


from_geocode() is now included in GoogleMapPlotter

fixed at least in https://github.com/gmplot/gmplot/commit/b7af8ad8e1a079254142e5810e6547a3e6dd0684


[RFE] Provide ability to edit the bigip config file from the editor, save and reload config

Another very useful feature to help with migration of config from different platforms would be to add the capability to edit and save the bigip config files extracted in the config explorer on the BIG-IP and provide ability to do a tmsh load sys config to test the config modified.
The workflow would be:

Explore config
open one of the big-ip config file (/config/bigip.conf or bigip_base.conf, ..)
make a change
save it (take a backup of the modified file with the date in the filename)
provide option for the user to load the config and see result in the output terminal

Is there currently a way to SSH to the box now?  I would be concerned about failure management if you were to lock yourself out.

@rjouhann The F5: Merge TCL/TMOS command might cover this use case.  The command takes the text in the editor, copies to the F5 and attempts to merge it with the running config via "tmsh load sys config file ".  If successful, just a little notification, but if it fails, it will show the full error response in a new editor window.
The same workflow is used for iRules and iApps.  See the Config Migration at the bottom.
https://f5devcentral.github.io/vscode-f5/#/tcl
@walterk82 there is the ability to configure the extension automatically ssh to the connected device via onConnect/onDisConnect.  Would this help your use case?
https://f5devcentral.github.io/vscode-f5/#/utilities?id=onconnectondisconnect-commands

had a chat with Roman and the Merge TCL/TMOS command fits his use case


[Question/Bug] Cookie value separator changed to comma?

It's more a question, since I can't readily reproduce it:
I'm proxying a basic GET request to a different server (in this case Tomcat) and once in awhile I get a log message in tomcat that an invalid cookie was received (org.apache.tomcat.util.http.parser.Cookie logInvalidHeader). This once in awhile happens if multiple cookies are in one header.
These cookie values should be delimited via semicolon (according to RFC 6265), older RFCs had it as comma. Tomcat's default cookie parser does not accept cookies delimited by comma.
Wiresharek dump
If I attach wireshark to the listening port, the received plaintext body is (from a test installation)
GET /test/?url=e508a3ba052148508d707682da9da951&locale=en HTTP/1.1
Host: localhost:61440
Accept: text/html, application/xhtml+xml, application/xml; q=0.9, image/avif, image/webp, image/apng, */*; q=0.8, application/signed-exchange; v=b3; q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE, de; q=0.9, en-US; q=0.8, en; q=0.7
Cookie: access_token=2F1766A645002D0EFBA7E1924594174C3A550598EA5D4B3C3114C6674BE02542, test_data_e508a3ba052148508d707682da9da951=%7B%22id%22%3A%22CASdG2aURvjsWtHNWedyZsvRYPJnK15R2-NRsR1nOibZPQ%22%2C%22title%22%3A%221.2%20cover%22%2C%22url%22%3A%22https%3A%2F%2Flocalhost%3A44302%2Fapi%2FFile%2FASCF-3JBQErG_it4xRT-rbf_BKXVajYvYhsrvXcaUQeadg%2FContent%22%2C%22sequenceNumber%22%3A%220001%22%7D
Referer: https://localhost:44302/
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
Upgrade-Insecure-Requests: 1
sec-fetch-site: same-origin
sec-fetch-mode: navigate
sec-fetch-dest: iframe
X-Forwarded-Proto: https
X-Forwarded-Host: localhost:44302
X-Forwarded-For: ::1

You see the comma separated cookie header values which are wrong.
Funny thing is, as soon as I e.g. attach Fiddler it appears that the cookie separator is still a semicolon, I don't know why ;)
The original request to Kestrel is HTTP2 and the Tomcat is HTTP/1.1  tough.
The best idea I currently have is that something is parsing the Header and reassembling it instead of a verbatim copy, as the Cookie Header is one of the few headers which require semicolon as the separator and things like StringValues.ToString() is using comma as an separator.
You can reproduce that behaviour with something like this:
var output = new HttpClient();
var message = new HttpRequestMessage(HttpMethod.Get, "http://localhost:45844");
message.Headers.Add(HeaderNames.Cookie, new string[]
{
    "test1=1", "test2=2"
});
await output.SendAsync(message);

and the headers sent over the wire are comma-separated and not semicolon-separated, that's why my best guess is something is parsing the header value and reassembling it, but I couldn't find any code which would do that and the Transforms Property in the ProxyRoute is null and SessionAffinity is also null (I suspected the CookieSessionAffinity logic).
Configuration
The configuration is done via code, via the InMemoryConfiguration code from the docs:
var routes = new[]
{
    new ProxyRoute()
    {
        RouteId = "proxyRoute",
        ClusterId = "Rewrite",
        Match =
        {
            Path = "/test"
        }
    }
};
var clusters = new[]
{
    new Cluster()
    {
        Id = "Rewrite",
        Destinations =
        {
            {"destination", new Destination() {Address = "http://localhost:61440"}}
        }
    }
};

Further technical details

Version: 1.0.0-preview.5.20467.3
Windows 10
NET Core 3.1.8

Yeah, Cookie and Set-Cookie are headers we have to be very careful with. We've got #155 to make sure we add test coverage for these scenarios, but I'll leave this issue open as a specific example we need to investigate.
The relevant code is here:
https://github.com/microsoft/reverse-proxy/blob/be99c24e78c34f5eb73c69212c20ce16a00e0367/src/ReverseProxy/Service/Proxy/HttpProxy.cs#L431-L449

Nothing in the stack should be messing with the cookie header if it were in the Cookie: cookie1=value1; cookie2=value2 format. Most likely the incoming headers are in this format:
Cookie: cookie1=value1
Cookie: cookie2=value2

Then StringValues or request.Headers.TryAddWithoutValidation combine the separate headers with a comma.

I think you're correct with your assessment, I patched some basic fix cookie header code into httpproxy.cs after the headers are added, this takes the cookie header and joins them with semicolon.
// Fix cookie header:
if (destination.Headers != null && destination.Headers.TryGetValues(HeaderNames.Cookie, out var values))
{
    var semicolonValues = string.Join("; ", values);
    destination.Headers.Remove(HeaderNames.Cookie);
    destination.Headers.TryAddWithoutValidation(HeaderNames.Cookie, semicolonValues);
}

if (destination.Content?.Headers != null && destination.Content.Headers.TryGetValues(HeaderNames.Cookie, out var contentValues))
{
    var semicolonValues = string.Join("; ", contentValues);
    destination.Content.Headers.Remove(HeaderNames.Cookie);
    destination.Content.Headers.TryAddWithoutValidation(HeaderNames.Cookie, semicolonValues);
}

and the comma separation problem is gone.

is this a bug in the client sending requests with multiple cookie headers or YARP for not accepting/passing along the cookies?

It's still under investigation but I expect it's a bug in HttpClient where it's being passed an array of cookie headers and it combines them inappropriately. It could also be an issue with how YARP calls HttpClient.

@Tornhoof How does the original request look like? Do you have a capture of it?
We're using TryAddWithoutValidation for all headers, header values are in general concatenated with ,: https://github.com/dotnet/runtime/blob/270777119024f39d97fd02b9ef23fbdba96a8883/src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaderParser.cs#L12 and there's no special casing for Cookie headers in runtime (no custom parser overriding the separator): https://github.com/dotnet/runtime/blob/270777119024f39d97fd02b9ef23fbdba96a8883/src/libraries/System.Net.Http/src/System/Net/Http/Headers/KnownHeaders.cs#L43.
IMO it's a bug in runtime that should get fixed but the timeline for it probably won't be sooner then 6.0. I'll file an issue there and in the meantime I suggest to handle it in YARP.
Note that the old RFC says the cookies might be concatenated with comma (,): https://tools.ietf.org/html/rfc2109#section-4.3.4:

A server should also accept comma (,) as the separator between cookie-values for future compatibility.

While the new one specifies only semi-colon as a sepaarator (;): https://tools.ietf.org/html/rfc6265#section-4.2.1

cookie-string = cookie-pair *( ";" SP cookie-pair )

@ManickaP I'm sorry I don't have a dump of the original request as I had no luck getting the tls data decoded via wireshark and as soon as I put Fiddler inbetween everything worked (probably because Fiddler rewrites it).

I don't have a dump of the original request

No worries, I'll manage without. I just wanted to make sure that the headers are coming as described above.
I'll take a stab at the fix in YARP as the next step.
BTW, dotnet/runtime issue filed: https://github.com/dotnet/runtime/issues/42856

@ManickaP is there any way to make HttpClient send headers in this format?
Header1: value1
Header1: value2
Header1: value3

I think that's the format the client is sending them in. That would be preferable to concatenating them.
Also, are there any differences here between HTTP/1.x and HTTP/2?

is there any way to make HttpClient send headers in this format?

Not that I'm aware of.

are there any differences here between HTTP/1.x and HTTP/2?

Only when combining cookies from the container with the ones in headers; otherwise, no. I just tested it and results are in the runtime issue here: https://github.com/dotnet/runtime/issues/42856#issuecomment-701308831

@ManickaP I'm sorry I don't have a dump of the original request as I had no luck getting the tls data decoded via wireshark and as soon as I put Fiddler inbetween everything worked (probably because Fiddler rewrites it).

@Tornhoof What client are you using? Is the request from the client to server using HTTP/1 or HTTP/2? For HTTP/1 you can use Kestrel Connection Logging to get a raw dump of the request between decryption and parsing:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1#connection-logging
Some notes from the specs:
https://www.rfc-editor.org/rfc/rfc6265.html#section-5.4

When the user agent generates an HTTP request, the user agent MUST
NOT attach more than one Cookie header field.

If the client is HTTP/1.1 then sending multiple Cookie headers is invalid. However, that doesn't prevent YARP from mitigating it.
https://tools.ietf.org/html/rfc7540#section-<IP_ADDRESS> (HTTP/2)

To allow for better compression efficiency, the Cookie header field
MAY be split into separate header fields, each with one or more
cookie-pairs.  If there are multiple Cookie header fields after
decompression, these MUST be concatenated into a single octet string
using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
before being passed into a non-HTTP/2 context, such as an HTTP/1.1
connection, or a generic HTTP server application.

I don't know if Kestrel properly accounts for this, we'd have to check. I don't see anything in the HPACK decoder or Kestrel to special case Cookies. If the client is using HTTP/2 in the reported scenario then a fix in Kestrel would address the issue.

@Tratcher Add your comment https://github.com/dotnet/runtime/issues/42856#issuecomment-701402628
https://tools.ietf.org/html/rfc7540#section-<IP_ADDRESS>

If there are multiple Cookie header fields after
decompression, these MUST be concatenated into a single octet string
using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
before being passed into a non-HTTP/2 context, such as an HTTP/1.1
connection, or a generic HTTP server application.

Shouldn't then Kestrel expose a single Cookie header with ; concatenated values in context.Request.Headers???
Either way, runtime is not handling cookie headers well, there's no question about that.

@ManickaP if the client is using HTTP/2, yes. I've filed https://github.com/dotnet/aspnetcore/issues/26461 for follow-up in Kestrel.
If the client is using HTTP/1.1 then they're the one doing something invalid, kestrel isn't required to do any special fixup.

we'll mitigate this in YARP as well

Yep, that's what I thought. I'm working on it.

@Tratcher
The Client is Google Chrome and as far as I saw in the original request it was Http2

The original request to Kestrel is HTTP2 and the Tomcat is HTTP/1.1 tough.

I'll try to get the kestrel connection logging working and i'll post the request then.

Ah, missed that; Then this likely is an issue with Kestrel HTTP/2 that we should address.
The connection logging isn't going to help much with HTTP/2 since it's a binary format. It will capture the bytes but they're not easy to decode. We should be able to reproduce it directly though.

Yeah I noticed that the HTTP2 isn't really readable, I managed to get the Wireshark TLS decrypt working on a different system, where I could get that sslkeylogfile variable working.
The HTTP2 header output looks like (it's a slightly different app version, but the cookies are the same)

Frame 4969: 147 bytes on wire (1176 bits), 147 bytes captured (1176 bits) on interface \Device\NPF_Loopback, id 0
Null/Loopback
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
Transmission Control Protocol, Src Port: 53521, Dst Port: 44302, Seq: 10044, Ack: 56920, Len: 103
Transport Layer Security
    TLSv1.2 Record Layer: Application Data Protocol: http2
        Content Type: Application Data (23)
        Version: TLS 1.2 (0x0303)
        Length: 98
        Encrypted Application Data:<PHONE_NUMBER>00002184018f30a245117b51369687c2b257c9…

        [Header Length: 1106]
        [Header Count: 15]
        Header: :method: GET
        Header: :authority: localhost:44302
        Header: :scheme: https
        Header: :path: /test/?url=5e088a7100b54a8f97cdd90454743b6a&locale=en
        Header: upgrade-insecure-requests: 1
        Header: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
        Header: accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        Header: sec-fetch-site: same-origin
        Header: sec-fetch-mode: navigate
        Header: sec-fetch-dest: iframe
        Header: referer: https://localhost:44302/
        Header: accept-encoding: gzip, deflate, br
        Header: accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
        Header: cookie: access_token=AAEB9CE9F523BB4A4AB090B18E19AF10AAA95B2C4791551AAB8988A0AD18018D
        Header: cookie: test_data_5e088a7100b54a8f97cdd90454743b6a=%7B%22id%22%3A%22CASdG2aURvjsWtHNWedyZsvRYPJnK15R2-NRsR1nOibZPQ%22%2C%22title%22%3A%221.2%20test%22%2C%22url%22%3A%22https%3A%2F%2Flocalhost%3A44302%2Fapi%2FFile%2FASCF-3JB

If i force HTTP 1.1 support in Kestrel via then it's working, so it's apparently a problem for HTTP/2 only
serverOptions.Listen(IPAddress.Any, 44302, listenOptions =>
{
    listenOptions.Protocols = HttpProtocols.Http1;
    listenOptions.UseHttps();
    listenOptions.UseConnectionLogging();
});

the connection dump then looks like this (with line breaks visible)

GET /test?url=adeae64ff5f646ae8f9f3f253960986a&locale=en HTTP/1.1
Host: localhost:44302
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-Dest: iframe
Referer: https://localhost:44302/
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: access_token=F41256095A7D2B93EC515DE3B93B59215DCCCD7559C9D4CF41173969457A0B29; test_data_adeae64ff5f646ae8f9f3f253960986a=%7B%22id%22%3A%22CASdG2aURvjsWtHNWedyZsvRYPJnK15R2-NRsR1nOibZPQ%22%2C%22title%22%3A%221.2%20test%22%2C%22url%22%3A%22https%3A%2F%2Flocalhost%3A44302%2Fapi%2FFile%2FASCF-3JBQErG_it4xRT-rbf_BKXVajYvYhsrvXcaUQeadg%2FContent%22%2C%22sequenceNumber%22%3A%220001%22%7D

Then this likely is an issue with Kestrel HTTP/2 that we should address

Agreed. In the meantime, this should be easy for YARP to work around this by manually merging the headers. This logic won't cause any problems after the Kestrel issue is addressed since the logic will no longer be triggered after the Cookie request headers are pre-merged by Kestrel. Getting the Kestrel fix into 5.0 GA or a 3.1 backport might be difficult Given how easy the workaround is and how long this went unnoticed.

If i force HTTP 1.1 support in Kestrel via config then it's working, so it's apparently a problem for HTTP/2 only

That's likely because Chrome avoids violating https://tools.ietf.org/html/rfc6265#section-5.4 by not sending multiple Cookie headers as part of an HTTP/1.1 request. As @Tratcher points out, the HTTP/2 spec supersedes this requirement "to allow for better compression efficiency" for HTTP/2 requests, but that doesn't change the requirements for HTTP/1.1 requests.


fix: Blur on the gradient blob doesn't apply on the edges.

As you can see in the screenshot below, when the blob is near the bottom edge of the window, the blur doesn't get applied on it.

It should be fixed so that the edges of the blob don't show up, and the blur should be applied everywhere on the blob.

Its working fine and edges of bob are not showing up.

@Govind516 okay so after a little more testing I think the issue is with hardware acceleration. When I use a browser with my GPU the blur gets applied evenly, but without hardware acceleration the blur isn't applied evenly leading to the edges of the blob being shown up where the blur isn't applied.


Box component inconsistent in rebass vs @rebass/grid

I was just exploring both rebass@next (3.0.0-9) and @rebass/grid (6.0.0-4) and was fairly confused as to why my layout broke when I tried removing the @rebass/grid module as I had thought it was redundant when using the entirety of rebass in my project.
I eventually found that @rebass/grid sets box-sizing: border-box on its Box components while rebass' Box component does not.
Can you please clarify if the idea is that there is feature parity and the same API between the following?
import { Flex, Box } from '@rebass/grid';

// vs

import { Flex, Box } from 'rebass';

If there is not meant to be any parity/consistency in the base props etc, is the intent that people use both rebass AND @rebass/grid side by side for a "complete" layout + component solution?

Yeah, that's not necessarily intentional. I'll look into setting box-sizing in Rebass and make sure that doesn't have any unintended consequences. As a workaround for your own project, you could set box-sizing: border-box globally, which a lot of people tend to do

Cool, I am currently using the 2 libraries side-by-side and will refactor out the @rebass/grid when a patch has been released. That said, as you said * { box-sizing: border-box; } is a decent solution for now too :)


Antivirus software terminates and detects go-code as infected with Win32/Xpaj.gen virus

GO version   -   1.11.2
OS   -    windows 10 x86
IDE  -   vscode
Antivirus Software    -    Avast

Since you are building the binary locally, I don't think there's anything we can do about this. Seems like it could be an issue with your antivirus software?


Python 3.5+ restfm client

Hi,
just want to inform you that we work on Python Client for restfm.
Kind regards,
René from the Stiftung Maria Ebene

Awesome, looks great.  Thanks for letting us know.
Cheers,
Nick


Question: python tool to generate fake data from json schema?

I've found some other interesting libraries for autogenerating fake "ipsum"-style data from json schema, notably for node.js.  But I'd like to keep the stack small for what I'm trying to do and stick with python.
Do you know of any good tools/libraries to do this?

I don't know of any existing ones personally unfortunately, but from some brief discussions, https://github.com/DRMacIver/hypothesis would be a really really good place to start for this I think, and shouldn't require a ton of work to get simple cases working. If you do find or write something though would love to hear about it.

For posterity:
I found a package which does this: https://github.com/mlakewood/hypo_schema
No idea how complete or usable it is though, or which version of JSON schema it is for.


Dependency is not satisfiable: libssl3 (>= 3.0.0~~alpha1)

OS: Linux Mint 22
Issue
After upgrading from Linux Mint 21 to 22, the GoXLR Devices are no longer present in the Audio System.
I removed the GoXLR-Utility and attempted to reinstall the latest version (1.1.4-Hotfix)
When trying to reinstall, it throws the error
Dependency is not satisfiable: libssl3 (>= 3.0.0~~alpha1)

Running openssl version -a shows version 3.0.13 of OpenSSL is installed
OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
I have run all OS updates and I still cannot re-install the goxlr-utility.
Any advice would be welcome.
Pete

I managed to get the Utility to install using the terminal (dpkg).
Double clicking the deb file still shows the same error, but it will install via the terminal for anyone else having the issue


Fewer forecasts than inputs/time series are produced by make_evaluation_predictions

Description
I was running Evaluator and got an error below:
      2 from gluonts.evaluation import Evaluator
      3 evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9], num_workers=None)
----> 4 agg_metrics, item_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(tds.test))

~/conda/derv2/lib/python3.7/site-packages/gluonts/evaluation/_base.py in __call__(self, ts_iterator, fcst_iterator, num_series)
    230         assert not any(
    231             True for _ in ts_iterator
--> 232         ), "ts_iterator has more elements than fcst_iterator"
    233
    234         assert not any(

AssertionError: ts_iterator has more elements than fcst_iterator

I checked the sizes of the iterators and, sure enough, fewer forecasts than time series were produced by:
from gluonts.evaluation import make_evaluation_predictions

forecast_it, ts_it = make_evaluation_predictions(
    dataset=tds.test,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100,  # number of sample paths we want for evaluation
)

forecasts = list(forecast_it)
tss = list(ts_it)

This is not documented and is unintuitive. No errors/warning were produced at that point. Also, producing None instead of skipping outputs would have made more sense.
Is it known what conditions cause this, and whether it depends on specific predictor used?
To Reproduce
I don't have an easily reproducible example. Having missing values in the data seems to be a factor.
Error message or code output
see above
Environment

Operating system: linux
Python version: 3.7.0
GluonTS version: 0.9.4
MXNet version: 1.7.0

@dmitra79 what model are you experiencing this with?

This was with SimpleFeedForwardEstimator

I checked the sizes of the iterators and, sure enough, fewer forecasts than time series were produced by:

A quick check to test whether the predictor object is to blame:
forecasts = list(predictor.predict(tds.test))
assert len(forecasts) == len(tds.test)

I checked - it seems to be inconsistent/transient. The first time predictor runs, it returns fewer results.
from gluonts.evaluation import make_evaluation_predictions

forecast_it, ts_it = make_evaluation_predictions(
    dataset=tds.test,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100,  # number of sample paths we want for evaluation
)

forecasts = list(forecast_it)
tss = list(ts_it)
print(len(forecasts))
print(len(tss))

200
308

pred=list(predictor.predict(tds.test))
print(len(pred))

308

import json
from gluonts.evaluation import Evaluator
evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9], num_workers=None)
agg_metrics, item_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(tds.test))
print(json.dumps(agg_metrics, indent=4))

Running evaluation:   0%|          | 0/308 [00:00<?, ?it/s]/home/datascience/conda/derv2/lib/python3.7/site-packages/gluonts/evaluation/_base.py:306: FutureWarning: Timestamp.freq is deprecated and will be removed in a future version
  date_before_forecast = forecast.index[0] - forecast.index[0].freq
/home/datascience/conda/derv2/lib/python3.7/site-packages/gluonts/evaluation/metrics.py:102: RuntimeWarning: divide by zero encountered in double_scalars
  return np.mean(np.abs(target - forecast)) / seasonal_error
/home/datascience/conda/derv2/lib/python3.7/site-packages/gluonts/evaluation/metrics.py:150: RuntimeWarning: divide by zero encountered in double_scalars
  return numerator / seasonal_error
Running evaluation:  65%|██████▍   | 200/308 [00:01<00:00, 187.49it/s]

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-24-9a43bf80f574> in <module>
      2 from gluonts.evaluation import Evaluator
      3 evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9], num_workers=None)
----> 4 agg_metrics, item_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(tds.test))
      5 print(json.dumps(agg_metrics, indent=4))

~/conda/derv2/lib/python3.7/site-packages/gluonts/evaluation/_base.py in __call__(self, ts_iterator, fcst_iterator, num_series)
    230         assert not any(
    231             True for _ in ts_iterator
--> 232         ), "ts_iterator has more elements than fcst_iterator"
    233
    234         assert not any(

AssertionError: ts_iterator has more elements than fcst_iterator

but if i rerun the evaluation, it generates 308 forecasts and works.

@lostella It is essentially a tf.data.Dataset, with dictionary-style elements.
Re use of 'iter' - thanks, I wondered about that but was ollowing the example in the tutorial: https://ts.gluon.ai/tutorials/forecasting/extended_tutorial.html#Compute-metrics.

I wondered about that but was ollowing the example in the tutorial

Thanks for pointing that out, the tutorial examples were fixed

I have been experiencing the exact same issue. Any update on this discussion? @dmitra79 @lostella
Would be a great help if you share some insights here!

Any update on this discussion?

Not on my side. We're still looking for a minimal example reproducing the issue, @tanweer-mahdi do you have one you can post?


Generate Verilog design files from .py file

Hi,
I am trying to generate the verilog files for the ethernet module from the .py files. I have used the pyverilog though it is giving some errors.
$ ~/Downloads/Pyverilog/eth$ python3 eth_mac.py
Traceback (most recent call last):
File "eth_mac.py", line 44, in
from .version import version
ImportError: attempted relative import with no known parent package
Can you please advise me how I can generate the synthesized verilog design files or are the verilog design files available already?
Thank you

These are simulation models only, they are not intended to be converted to HDL.  If you are looking for synthesizable verilog for Ethernet MACs, see https://github.com/alexforencich/verilog-ethernet , which contains synthesizable verilog code for a 10/100/1G MAC and a 10G/25G MAC.


Traccar Client shortcut

Hi,
"Traccar Star", "Traccar Stop" and "Traccar SOS" shortcut does not display the full name. I do not know which is which. If you can rename shortcut please. For example: "Stop Traccar"... or only "Stop"...
Xiaomi MiMax with Android 6.0

I am thinking we can make "Traccar" as a suffix instead of prefix.

:+1:

Note that it might take a while till I find time to implement it.

Prefix has been removed.


Drop support for Safari2

There are a bunch of work-arounds for Safari2 that should be removed at this point.

There are no Safari2-sepecific adjustments in v3.


Job card states

Job card has now a hovered/active state with different background color.
Title now works as a link as it looks different if already visited.
As requested on https://trello.com/c/AdUar2Xi/517-styleguide-job-card-states

@mengtzu Forgot to add the hover state, added it now. Can you take a look?


Documentation in Dash format docset

Hi,
is it possible to get the Robot Framework Dokumentation (http://robotframework.org/robotframework/) in a docset format as docset feed or dash listed (https://github.com/Kapeli/Dash-User-Contributions#readme)?
A lot of tools can list this offline documentations now, also for linux and windows and it is very handy to search with them.
Here you can find a way how to convert the documentation in docset https://kapeli.com/docsets.
Here you can see possible tools which support docs like that. https://alternativeto.net/software/dashexpander/

I don't know the docset format or Dash. What benefits would it bring? Would it be new format or should it replace something we already have? What would this require? Are you interested to contribute?

Hi @pekkaklarck,
the docset format allow to use documentation with the supported tools. This tools give you the possibility to download the documentation and use it offline and also a much easier way to search for keywords. As much as I understand the docset format is just HTML with a SQLite Database which contains all keywords and much more. Then it is possible to use fuzzy search in the frondend tools which helps a lot at the daily work.
In this link https://kapeli.com/docsets#dashDocset it is explained how to convert any html documentation to an docset format. And here https://github.com/Kapeli/Dash-User-Contributions#readme you can see how to contribute your documentation to a third party dash channel which can be used by the documentation viewer tools.
My favorite tool is "Velocity" but "Zeal" is also very good.
I am not sure that I can contribute because my python knowledge is very limited but if there is a way I will try.

@damien122, have You tried rfhub2? Take a look at demo if it's something You are looking for.

@MaciejWiczk thx for your hint. This is also a very good solution! This helps me very much.

New documentation formats are possible but probably best handled as external tooling.


preemption: not eligible due to a terminating pod on the nominated node

I'm trying out a scenario to see how preemption works in Kubernetes, but I'm unable to successfully preempt a low priority pod.
Steps to reproduce

Create priority class high-prioritymetadata:
  name: high-priority
value: 1000000
globalDefault: false

Create new nodemetadata:
  generateName: node-
  labels: {}
spec: {}
status:
  capacity:
    cpu: '4'
    memory: 32Gi
    pods: '110'
  allocatable:
    cpu: '4'
    memory: 32Gi
    pods: '110'
  phase: Running
  conditions:
    - type: Ready
      status: 'True'

Create low priority pod that uses all resources in the node# low priority pod
metadata:
  generateName: pod-
  namespace: default
  labels: {}
spec:
  containers:
    - name: pause
      image: k8s.gcr.io/pause:3.5
      resources:
        limits:
          cpu: 4
          memory: 32Gi
        requests:
          cpu: 4
          memory: 32Gi
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      imagePullPolicy: IfNotPresent
  restartPolicy: Always
  terminationGracePeriodSeconds: 30
  dnsPolicy: ClusterFirst
  securityContext: {}
  enableServiceLinks: true

Create high priority pod with default resources requests and limits# high priority pod
metadata:
  generateName: pod-
  namespace: default
  labels: {}
spec:
  containers:
    - name: pause
      image: k8s.gcr.io/pause:3.5
      resources:
        limits:
          cpu: 100m
          memory: 16Gi
        requests:
          cpu: 100m
          memory: 16Gi
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      imagePullPolicy: IfNotPresent
  restartPolicy: Always
  terminationGracePeriodSeconds: 30
  dnsPolicy: ClusterFirst
  securityContext: {}
  enableServiceLinks: true
  # make pod high priority
  priorityClassName: high-priority

Expected behavior
The low priority pod is preempted and then removed from the node. The high priority pod is scheduled to the node.
Actual behavior
The low priority pod stayed on the node. The high priority pod is in "Unscheduled Pods". In the status of the high priority pod is the message: "preemption: not eligible due to a terminating pod on the nominated node."
# high priority pod's status
status:
  phase: Pending
  conditions:
    - type: PodScheduled
      status: 'False'
      lastProbeTime: null
      lastTransitionTime: '2023-02-27T22:17:26Z'
      reason: Unschedulable
      message: >-
        0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.
        preemption: not eligible due to a terminating pod on the nominated node.

At first, the message was only "0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory." But after a while, it added "preemption: not eligible due to a terminating pod on the nominated node."
The phase of the low priority pod is "pending" and not "terminating" as the message above claims.
# low priority pod's status
status:
  phase: Pending
  conditions:
    - type: PodScheduled
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2023-02-27T22:16:31Z'
  qosClass: Guaranteed

How about changing terminationGracePeriodSeconds on low priority Pod to 0?

/kind support

/close


Reported install issue

From @lebowski-fin
Concrete<IP_ADDRESS> install issues on clean servers
The following error keeps coming up every single time i try to install Concrete5 FULL INSTALL.
Tested with two clean servers, no change.
It always takes me back to the "install page". No clue what so ever to do with this. Changing language won't do anything.
Problem:
An exception occurred while executing 'INSERT INTO SystemDatabaseMigrations (version) VALUES (?)' with params ["20141113000000"]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20141113000000' for key 'PRIMARY'.

Trace:
0 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(702): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(PDOException), 'INSERT INTO Sys...', Array) #1 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/vendor/doctrine/migrations/lib/Doctrine/DBAL/Migrations/Version.php(150): Doctrine\DBAL\Connection->executeQuery('INSERT INTO Sys...', Array) #2 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Package/StartingPointPackage.php(195): Doctrine\DBAL\Migrations\Version->markMigrated() #3 [internal function]: Concrete\Core\Package\StartingPointPackage->install_database() #4 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/controllers/install.php(282): call_user_func(Array) #5 [internal function]: Concrete\Controller\Install->run_routine('elemental_full', 'install_databas...') #6 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Controller/AbstractController.php(156): call_user_func_array(Array, Array) #7 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Routing/ControllerRouteCallback.php(25): Concrete\Core\Controller\AbstractController->runAction('run_routine', Array) #8 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Routing/Router.php(59): Concrete\Core\Routing\ControllerRouteCallback->execute(Object(Concrete\Core\Http\Request), Object(Concrete\Core\Routing\Route), Array) #9 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Support/Facade/Facade.php(116): Concrete\Core\Routing\Router->execute(Object(Concrete\Core\Routing\Route), Array) #10 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Application/Application.php(340): Concrete\Core\Support\Facade\Facade::__callStatic('execute', Array) #11 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/src/Application/Application.php(340): Concrete\Core\Support\Facade\Route::execute(Object(Concrete\Core\Routing\Route), Array) #12 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/bootstrap/start.php(196): Concrete\Core\Application\Application->dispatch(Object(Concrete\Core\Http\Request)) #13 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/concrete/dispatcher.php(36): require('/home/sg2133/pu...') #14 /home/sg2133/public_html/home/concrete<IP_ADDRESS>/index.php(2): require('/home/sg2133/pu...') #15 {main}

Unless we can get more info I think this should just be closed. I just installed <IP_ADDRESS> on PHP 5.4.36 (didn't have 33 laying around) on Apache 2.4.10 Linux MySQL 5.6 without issue.

Agreed

I just encountered this when trying to run a force-upgrade on my staging server, with a fresh build from develop. The upgrade ran fine locally with a recent export of the SQL data running on staging. Any ideas?
The entries in my localhost SystemDatabaseMigrations table look like this:
20140930000000
20141017000000
20141024000000
20141113000000
20141219000000
20150109000000
20150202000000
20150206000000
20150224000000
20150310100000
20150319000000
20150330000000
20150413000000
5702
5704
571
572
5721
573
5731
5732
574

My staging server version looks like this:
20140930000000
20141017000000
20141024000000
20141113000000
20141219000000
20150109000000
20150202000000
20150206000000
20150224000000
20150310100000
20150319000000
20150330000000
5702
5704
571
572
5721
573
5731
5732
574

(identical except the staging server is missing "20150413000000")

Are you up-to-date? You might want to delete all those 57* migrations,
update your develop branch, and try again
we restructured how we're doing updates due to a change in how the Doctrine
Migrations package worked, and it necessitated us renaming classes, but we
missed some of the renaming until earlier today.
On Fri, Apr 17, 2015 at 2:38 PM, Corey Reed<EMAIL_ADDRESS>wrote:

(identical except the staging server is missing "20150413000000")
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5-5.7.0/issues/1544#issuecomment-94080412
.

with a fresh build from develop
@uimatters did your run composer install after fetching the latest code from github? The vendor component that handles the migrations (doctrine/migration) has been updated...
Those 57xx versions shouldn't be in the SystemDatabaseMigrations...

Yes, I pulled SHA d9e067ee90fbfaa6589747ee172dc994d0d84c79, ran composer install within the web/concrete folder and then went up into the /build directory and ran grunt release.
Do I need to manually remove those migration files from my code base and then run some SQL to remove those rows from SystemDatabaseMigrations?

/facepalm
OK, so I compared this again. I have the core checked out via git. I have been using the Mac ditto tool to sync the built core up to my SVN repo. However, ditto wasn't deleting files/folders in the destination directory that had been removed from the source directory (built version of C5). I used rsync instead, confirmed that the old 57xx migration files were removed with the update, and pushed that to my server. The forced-upgrade script ran successfully.
I do have a question about the 57xx entries in the db, though. Is it worth removing those manually?

It shouldn't be a problem to leave these wrong records in the DB, but I'd remove them (but be sure to remove the old Version57xx.php files and keep only the new Version201xxxxxxxxx.php files)

OK, will do. When I ran rsync, it removed the 57xx migrations files for me. I'll clean up the db just for good measure.
Thanks!
--
Corey

On Apr 18, 2015, at 4:45 PM, Michele Locati<EMAIL_ADDRESS>wrote:
It shouldn't be a problem to leave these wrong records in the DB, but I'd remove them (but be sure to remove the old Version57xx.php files and keep only the new Version201xxxxxxxxx.php files)
—
Reply to this email directly or view it on GitHub.

Would it make sense to modify any existing records and update them to the appropriate version string in the database so that there isn't any clutter as part of the 5.7.4 upgrade?

uimatters had both the 201xxxxxxxx and the 57xx version formats because in his particular case he had the old migration files together with the new Doctrine Migrations version. IMHO we shouldn't take care in the code of such cases.

What happens for users who started at Version <IP_ADDRESS> who had done migrations up through 5.7.3, and are now moving to the new version? Wouldn't the change in migration names cause all those old migrations to run again?

My problem was that my /concrete folder had all of the updates and new files but I wasn't removing any of the deleted files. Since the migration files for 57xx were still in my updates directory, C5 tried to run them again and threw the duplicate key error. Once I resynchronized my core files, it removed the old migration files and everything was in good shape. The only manual step was removing the entries in my database but those 57xx entries shouldn't cause any issues. I've been running this install since <IP_ADDRESS> and this is the first time it failed to update...and it was my own fault.
--
Corey

On Apr 19, 2015, at 2:16 PM, Joe Meyer<EMAIL_ADDRESS>wrote:
What happens for users who started at Version <IP_ADDRESS> who had done migrations up through 5.7.3, and are now moving to the new version? Wouldn't the change in migration names cause all those old migrations to run again?
—
Reply to this email directly or view it on GitHub.

What happens for users who started at Version <IP_ADDRESS> who had done migrations up through 5.7.3, and are now moving to the new version? Wouldn't the change in migration names cause all those old migrations to run again?

@JosephLMeyer : @uimatters is right. He had the wrong 57xx entries in the DB because he had the old Version57xx.php files among the new Version201xxxxxxxxx.php files. I just tried both manual upgrade ways described here and in both cases everything ran fine.
The only way to break the upgrade process is to merge the old and the new concrete5 directories: as stated in the documentation the old concrete5 directory must be replaced with the new one.


AwTabNav: wrong margin in small screens

Screenshot:
http://awescode.com/screenshots/Slack___awes-daily___Awescode_GmbH_23A3E563.png

Remove -mb-8 class from AwPage
check the all screen resolution after changes

➤ Артем Ломако commented:
https://git.awescode.com/awes-io/ui/merge_requests/15 ( https://git.awescode.com/awes-io/ui/merge_requests/15 )
removed and checked all screen resolutions


Add deploy instructions

Fixes #206

In the Node guide there is a more involved checklist of steps which involves publishing a release to github as well and testing that the package installs correctly locally. Should those details be here as well?

Whatever is the standard approach.  Please update.

@shehzan10 do you want to finish this?  Email me if you need help finding the Node Guide.

@pjcozzi Sure I can look into it.

Replaced by #217.


StratomeX demo use case broken

http://vistories.org/v/stratomex

Fixed by @sgratzl a long time ago.


Docs Typo

At the end of this tutorial, you should have three {technology} console apps:

Hi @KSLHacks, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

CLA Completed.

Hi @KSLHacks, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


Add "Onyx" To CoX Drops

In the normal game you can get a cut onyx from tekton, and it would be nice to have that ability on the bot. The rate should be about the same on both CM/regular(IMO) as it's more common for normal CoX raid's, but you don't always do tekton. The main issue with this is that the droprate changes based on team size. Not a big deal, just figured it would be nice to have.

Done in next update.


Deploy e637f19 to production

Last deployment was in https://github.com/web-platform-tests/wpt-pr-bot/issues/128 at 0b09f010; changelist since then: 0b09f010..e637f19. Notable changes:

Add support for WebKit-exported changes (dry-run mode only currently)

I expect to push this, run it overnight to make sure it isn't exploding, then push a new version tomorrow with the WebKit-export support properly enabled.

https://wpt-pr-bot.appspot.com/ is now at e637f19


Disable git for some folders/paths

Feature Request
Add and option to list regex and/or glob patterns to skip git features.
SPACEFISH_GIT_SKIP '^~/code/sshfs/' '*/sshfs/*'

I am new to this theme - don't know if it is compatible with Spaceship.
My current fix
I have mounted projects via sshfs in ~/code/sshfs/client/project/another/stuff/.
Command git status --porcelain -b never ends over sshfs (I always kill it after 3-4 minutes).
Setting set -g SPACEFISH_GIT_SHOW false helps a lot.
I still get some git info like branches (but no status).
But at least I can run ls inside dir with .git over sshfs.
What I have so far. It works for me for now.
~/.config/fish/fish_prompt_git_disable.fish
function fish_prompt_git_disable
    set -l realhome ~
    set -l dir (pwd)
    set -l gitoff n
    set -l check (string match -r '^'$realhome'/code/sshfs' "$dir")
    if test -n "$check"
        set gitoff y
    end
    ## spacefish theme
    if set -q SPACEFISH_VERSION
        if test "$gitoff" = y
            set -g SPACEFISH_GIT_SHOW false
        else
            set -g SPACEFISH_GIT_SHOW true
        end
    end
end

Call my function inside fish_prompt before setting other defaults.
~/.config/fish/fish_prompt.fish
# Store the exit code of the last command
set -g sf_exit_code $status
set -g SPACEFISH_VERSION 2.2.0
...
fish_prompt_git_disable
...
for i in $SPACEFISH_PROMPT_ORDER
	eval __sf_section_$i
end
set_color normal

Maybe I should try with removing git keyword from SPACEFISH_PROMPT_ORDER.
Which is better?
Variable SPACEFISH_GIT_STATUS_SHOW can be used instead SPACEFISH_GIT_SHOW when my pull request is accepted #155

Hey @hrvoj3e!
I really like the idea of having directories that would be skipped in showing the git section, however, this feature would first need to be accepted into the spaceship project to avoid having diverging feature sets.
I'll be closing this for the time being, but if an equivalent feature is ever considered for addition to spaceship, we can certainly have this feature added here as well. 😄


[Bug]: Cypress E2E test route navigation - "failed to execute 'insertBefore' on 'Node'" crash

Which Remix packages are impacted?

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

What version of Remix are you using?
1.0.6
What version of Node are you using? Minimum supported version is 14.
Tested on 14.15.4 and 16.9.1
Steps to Reproduce
Reference repo: https://github.com/Sendouc/cypress-test-2

Create new Remix app (tested Express and Remix Server starters)
Install latest Cypress version
Add a simple test that navigates to another route e.g.

describe("Test crash", () => {
  it("test", () => {
    cy.visit("http://localhost:3000");
    cy.contains("Nested Routes, CSS loading/unloading").click();
    // crashes after clicking so the test never passes
    cy.contains("About Us");
  });
});

When trying to run the test the app crashes:

Note 1. The browser is only using the Cypress extension
Note 2. I'm unable to reproduce this crash when using the app outside of the test.
Note 3. Tested on two different computers.
Expected Behavior
Test runs without a crash.
Actual Behavior
App crashes with the following stack trace:

I've got this problem as well after upgrading to cypress 9. Downgraded to<EMAIL_ADDRESS>and the problem disappears. Seems to only happen with .click() on  with cypress 9 and above. Clicks works if it's just ui clicks.

I'm not having this issue anymore (latest Remix + Cypress) so going to close. Maybe someone else can reopen with their own reproduction if it still happens to them.

🎉

This happened to me on cypress 9.0.0, and create-react-app

@johnflux this is a pretty old and closed issue. Please open a new one with more details if you are facing a problem 🙏

Yeah unfortunately I don't have any further details at the moment.  Will investigate and create a new bug if I find out anything.


styles passed as props to rebass button is not working.

I am trying to apply styles to styled rebass button, which has style properties as props.Please
Scenario:

If I replace  with just  (imported from rebass) , props passed into it
are getting applied.<Button
variant={variant}
type={type}
width={width}
px={px}
py={py}

{children}

```
2. But if I use  instead, props are **not** getting applied.
<StyledButton
    variant={variant}
    type={type}
    width={width}
    px={px}
    py={py}
     >
    {children}
  </StyledButton>

Please Refer code below.
versions used :
"styled-components": "^4.3.2",
"rebass": ### "^4.0.5"
import React from 'react';
import { Button } from 'rebass';
import { string, number, oneOfType, arrayOf, node, func } from 'prop-types';
import styled from 'styled-components';

const StyledButton = styled(Button)`
  cursor: pointer;
`;

const CustomButton = ({
  children,
  type,
  variant,
  width,
  px,
  py,
}) => (
  <StyledButton
    variant={variant}
    type={type}
    width={width}
    px={px}
    py={py}
  >
    {children}
  </StyledButton>
);

CustomButton.propTypes = {
  children: node.isRequired,
  type: string,
  variant: string,
  width: oneOfType([string, number]),
  px: oneOfType([string, number]),
  py: oneOfType([string, number]),
};

CustomButton.defaultProps = {
  type: null,
  variant: 'primary',
  width: 'auto',
  py: 4,
  px: 6,
};

export default CustomButton;

Is this a duplicate of #723?

No, its not duplicate. its different issue.


remove zero-extension warning

That nasm warning annoyed me. A lot.

I don't see any assembly warning with the current code… What version of nasm are you using?

I'm using NASM version 2.12.01.

I wondered why you had this particular piece of code in there anyway.

Oh, I'm using 2.11.08. It seems like the warning was added in 2.12. So let's get rid of this warning :).

I wondered why you had this particular piece of code in there anyway.

What do you mean?

I think we don't even need dq here. We are still in 32-bit mode, so the pointer structure should only need a 32-bit address…

What do you mean?

I wondered why you left a bit of code in there that threw a warning.

I think we don't even need dq here. We are still in 32-bit mode, so the pointer structure should only need a 32-bit address…

I didn't really read the part about the GDT's as I was to reread everything when the OS had the basic Rust stuff running so I could (as with paging) setup everything once again.
I just added a second bit of space in case you actually used dq because it was a given structure.

If you say that the field isn't actually used I could just update the PR.

Oh wait, no I'm getting that:
build/arch/x86_64/boot.o: In function `gdt64.pointer':
src/arch/x86_64/boot.asm:(.rodata+0x1a): relocation truncated to fit: R_X86_64_16 against `.rodata'
Makefile:49: recipe for target 'build/kernel-x86_64.bin' failed
make: *** [build/kernel-x86_64.bin] Error 1

if I remove the second dw.

The osdev wiki and the AMD64 manual agree: 2 bytes size and 4 bytes offset. I just tried it with dd instead of dq, and it works fine for me.

I have just cloned a fresh copy of your repo and compiled (master branch) and got the above error while linking when replacing dq with just one dd.
That's strange.
I'm using GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 for linking.

Weird. So nasm complains when you're using dq because it is only a 32-bit address and ld complains when you're using dd because the 32-bit address does not fit into the doubleword? And it works when you add another dd 0 after it? Makes no sense…

You are using that exact address to store the pointer to jump to in 64-bit mode so it has to be 64-bit long, but nasm complains about the dq gdt statement because gdt is a 32-bit pointer and you are trying to save it into a 64-bit register and it warns that it is being padded with 0s, but if you use a 32-bit element to store the address and add the 0s yourself then everything's fine.

I've just tried it with nasm 2.12.01 and I can't reproduce the warning… I get the following for both dd gdt64 and dq gdt64:
> nasm -version
NASM version 2.12.01 compiled on May 24 2016
> nasm -felf64 src/arch/x86_64/boot.asm
> ld src/arch/x86_64/boot.o
ld: warning: cannot find entry symbol _start; defaulting to<PHONE_NUMBER>4000b0
src/arch/x86_64/boot.o: In function `start':
src/arch/x86_64/boot.asm:(.text+0x37): undefined reference to `long_mode_start'

I tried some other (wrong) configurations:
With dw gdt64:
> nasm -felf64 src/arch/x86_64/boot.asm
> ld src/arch/x86_64/boot.o
ld: warning: cannot find entry symbol _start; defaulting to<PHONE_NUMBER>4000b0
src/arch/x86_64/boot.o: In function `start':
src/arch/x86_64/boot.asm:(.text+0x37): undefined reference to `long_mode_start'
src/arch/x86_64/boot.o: In function `gdt64.pointer':
src/arch/x86_64/boot.asm:(.rodata+0x1a): relocation truncated to fit: R_X86_64_16 against `.rodata'

Which is identical to your linker error.
--
With -felf instead of -felf64 and dq gdt64:
> nasm -felf src/arch/x86_64/boot.asm
src/arch/x86_64/boot.asm:210: warning: 64-bit unsigned relocation zero-extended from 32 bits

Which I think is identical to the warning you described. But with this configuration, I get the following linker error:
ld: i386 architecture of input file `src/arch/x86_64/boot.o' is incompatible with i386:x86-64 output

Are you sure that you've set these parameters correctly? And could you post your Makefile and your boot.asm?

I've actually just used the provided Makefile, which works fine, except for the nasm warning.
I'm also running a current x86_64 Gentoo GNU/Linux.

I've actually just used the provided Makefile

Yeah, I've tried that too. But no nasm warnings or linker errors for me, neither for dq gdt64, nor for dd gdt64 (with nasm 2.12.01)…

That's confusing.
I'll just close this PR and just in case you happen to get those errors, just reopen/comment and I will be there to git rebase so you can merge it then.

I would be happy to merge just the dq gdt64 -> dd gdt64 change, since it's more correct. However, it seems to make the situation even worse for you (linker error instead of warning), and I don't understand why…

just in case you happen to get those errors, just reopen/comment and I will be there to git rebase so you can merge it then.

Thanks a lot! And thank you for reporting this issue.
--
@steveklabnik I think you're using the same GDT code in intermezzOS. Do you experience this nasm warning or linker error too (with nasm 2.12)?

I am! But I ended up downgrading to nasm 2.11, because it choked on some macro code that I had. I'm in the process of removing those macros, so should be able to try again with 2.12 soon.


feat(elements-core): use a maintained version of httpsnippet

Fixes https://github.com/stoplightio/elements/issues/2282
Fixes https://github.com/stoplightio/elements/issues/2141
Differences from kong/httpsnippet
I had to tweak the typing a bit because the new package makes postData required, which is a bit odd because the spec does say it's optional -> http://www.softwareishard.com/blog/har-12-spec/#request
I decided to pass a value that will make it a no-op if no postData was provided by us.
Passing text/plain makes it a no-op https://github.com/readmeio/httpsnippet/blob/6f31c535cdf961e338b93a61d9bf61645d13cb9f/src/index.ts#L186
One last notable change I had to make was to re-add python3 target which isn't available in the new package.

@mnaumanali94 can you play around with it at your leisure to see if it's all good?


v2.0.2

New features

Append the configuration ID to the filename by adding the argument --append-id. closes #133

Enhancements
Bug fixes

Notification templates with name "EnrollmentNotificationInternalMEO" removed from backup as they continuously overwrite each other

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (0e3bbd4) 95.89% compared to head (a1c54a2) 95.95%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #134      +/-   ##
==========================================
+ Coverage   95.89%   95.95%   +0.05%
==========================================
  Files          67       67
  Lines        3681     3781     +100
==========================================
+ Hits         3530     3628      +98
- Misses        151      153       +2

Flag
Coverage Δ

unittests
95.95% <98.50%> (+0.05%)
:arrow_up:

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

Files
Coverage Δ

src/IntuneCD/backup_AppProtection.py
100.00% <100.00%> (ø)

src/IntuneCD/backup_appConfiguration.py
95.91% <100.00%> (+0.26%)
:arrow_up:

src/IntuneCD/backup_appleEnrollmentProfile.py
96.77% <100.00%> (+0.34%)
:arrow_up:

src/IntuneCD/backup_applications.py
100.00% <100.00%> (ø)

src/IntuneCD/backup_assignmentFilters.py
96.00% <100.00%> (+0.54%)
:arrow_up:

src/IntuneCD/backup_compliance.py
97.29% <100.00%> (+0.32%)
:arrow_up:

src/IntuneCD/backup_compliancePartner.py
100.00% <100.00%> (ø)

src/IntuneCD/backup_conditionalAccess.py
100.00% <100.00%> (ø)

src/IntuneCD/backup_configurationPolicies.py
97.36% <100.00%> (+0.22%)
:arrow_up:

src/IntuneCD/backup_customAttributeShellScript.py
100.00% <100.00%> (ø)

... and 19 more

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


ENOENT error with ember-inputmask and jquery.inputmask

Hello.
I had this error trying to use ember-inputmask 0.2.x with jquery.inputmask 3.2.5:
´ENOENT: no such file or directory, stat '~/App/tmp/concat_with_maps-input_base_path-vZJDIM25.tmp/0/bower_components/jquery.inputmask/dist/jquery.inputmask.bundle.min.js'´
But ember-inputmask 2.0.0 works with jquery.inputmask 3.1.49

Thank you @ErunamoJAZZ! This should be fixed in #29. The file path changed between the two versions of jquery.inputmask.


cmd/go: use quiet flag to allow tool integrations with Go modules

What version of Go are you using (go version)?
Tip - Darwin
What did you do?
go list -m -versions -json github.com/pkg/errors@latest to list all the available upstream versions
What did you expect to see?
I'd like to only get the JSON output and not mod-fetching output.
The boolean QuietLookup in modfetch/cache.go is not being set anywhere which is causing the following to show
What did you see instead?
go: finding github.com/pkg/errors v0.8.0
{
	"Path": "github.com/pkg/errors",
	"Version": "v0.8.0",
	"Versions": [
		"v0.1.0",
		"v0.2.0",
		"v0.3.0",
		"v0.4.0",
		"v0.5.0",
		"v0.5.1",
		"v0.6.0",
		"v0.7.0",
		"v0.7.1",
		"v0.8.0"
	],
	"Time": "2016-09-29T01:48:01Z"
}

Please can you confirm the full env details here (you've abbreviated the template) - what commit were you using etc?
I can't reproduce the issue you're seeing based on the steps above either.
In any case, stdout should always contain valid JSON, per https://github.com/golang/go/issues/26218#issuecomment-402916995

@myitcv I believe I was parsing both stderr and stdout, so I'll try again with just stdout and it should probably work. That being said, maybe the CL is still ok to have control over the QuietLookup variable in cache. Otherwise, using stdout is fine for my usecase. Thanks

@marwan-at-work - I'm going to close per https://github.com/golang/go/issues/26628#issuecomment-409279217, but please shout if you're seeing behaviour contrary to https://github.com/golang/go/issues/26218#issuecomment-402916995


bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information
$ uname -a
Linux e1.carbonate.uits.iu.edu 3.10.0-862.6.3.el7.x86_64 #1 SMP Fri Jun 15 17:57:37 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

TensorFlow installed from (source or binary): source
TensorFlow version: 1.12.0
Python version: 3.7.2
Installed using virtualenv? pip? conda?: no
Bazel version (if compiling from source): 0.22.0
git version: 2.13.0
GCC/Compiler version (if compiling from source): gcc (GCC) 6.3.0
CUDA/cuDNN version: 10.0/7.4.2
GPU model and memory: NVIDIA V100 16GB and NVIDIA P100 16GB

Describe the problem
Attempting to build from source, build does not complete.
Provide the exact sequence of commands / steps that you executed before running into the problem
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
INFO: Analysed target //tensorflow/tools/pip_package:build_pip_package (383 packages loaded, 19566 targets configured). INFO: Found 1 target... ERROR: /gpfs/home/s/t/steige/Carbonate/.cache/bazel/_bazel_steige/7e49ffaa2aeff17b57c88f7f5097a06c/external/gif_archive/BUILD.bazel:8:1: undeclared inclusion(s) in rule '@gif_archive//:gif': this rule is missing dependency declarations for the following files included by 'external/gif_archive/lib/openbsd-reallocarray.c': '/N/soft/rhel7/gcc/6.3.0/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stddef.h' '/N/soft/rhel7/gcc/6.3.0/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdint.h' Target //tensorflow/tools/pip_package:build_pip_package failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 811.872s, Critical Path: 46.61s INFO: 20 processes: 20 local. FAILED: Build did NOT complete successfully

@steige2 Please check the tested build configurations here. There could be path reference issues in CUDA/cuDNN folders. Please check whether CUDA and cuDNN paths are referencing correctly or not.
Either upgrade TF1.12 to TF1.13rc2 or downgrade Bazel and CUDA versions. Thanks!

Fixed it, I believe some of the dependencies were guilt with a different version of gcc, blew away the entire stack, started over with TF1.12, everything built just fine

thinks your for your contribution.


Estimating the length of line on a windlass drum

The problem is how to best calculate how much line is on a windlass spool knowing only the number of complete turns the windlass has made from empty.
The calculation has to rely on PI.d and the solution has to rely on knowledge of how the effective drum-diameter, d, increases as more and more line is spooled.  Theoretically, the calculation of the length of line on a particular layer might approximate to:
turns *  (3.14 * (SD + (layer * LD * 2) + LD))    [1]
Where SD is the spool diameter, LD is the line diameter, turns is the number of turns on layer (0 says the drum itself).
There are many real-world gotchas, but the most obvious is that LD is unlikely to be the nominal diameter of the line because real ropes shrink in diameter and distort in cross-section under load. In the case of some synthetic ropes like Dyneema dimensional change might account for more than 50% of the nominal line diameter.  We therefore need to acknowledge a compression ratio, LCR.
turns *  (3.14 * (SD + (layer * (LD * LCR) * 2) + (LD * LCR)))    [1.1]
If we assume that line always bales perfectly (i.e. layers on the drum are consistently filled to capacity), then we can define a constant number of turns per layer for a windlass spool and a given line, TPL. We can then say that given spool rotations the total line length on the spool is:
(rotations / TPL)
∑ = ((r < (rotations / TPL))?TPL:(rotations % TPL)) * (3.14 * (SD + (r * (LD * LCR) * 2) + (LD * LCR)))    [2]
r = 0
Spreadsheet attached that applies these formulae.
How well, if at all, does this work out in the real world?
linelength.zip

The easiest way is to measure on an existing winch how much line a revolve takes on every layer.

Hi Henk.  Ok. Then we need a look-up table rather than arithmetic.
That'll work for spudpoles where only a few layers on the winch that are occupied.  And if we have a look-up table, we can reverse calculate the values needed for calculating and see how the two methods compare.  So, some questions:

Do you use the same diameter line on all poles?
Can you give me some data?

Layer                 Max turns                 Total length on Layer (m)
----------------+------------------------+---------------------------------------
There are a couple of layers on my winch when the pole is fully deployed so I'm having difficulty counting turns.

I will have to take my boat to a deep spot and measure the rotations per meter on every layer ea.diameter of the drum.

I tried that with Beatrice, but I still have a lot of line on the drum when
the pole is all the way out.
Maybe we should do something on a bench in the Spring?
On Mon, 7 Dec 2020 at 21:34, HenkStekelenburg<EMAIL_ADDRESS>wrote:

I will have to take my boat to a deep spot and measure the rotations per
meter on every layer ea.diameter of the drum.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/preeve9534/ankreo/issues/1#issuecomment-740193194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2BPMJL6PSFVOYWW4KQXEDSTVC4TANCNFSM4UKGSOTA
.

--
Paul Reeve
Email<EMAIL_ADDRESS>UK mobile: +44.7786.528092
NL mobile: +31.630.242748