xrdp has very low bandwidth on high latency connections that can be mitigated via SSH tunnel

xrdp version
<IP_ADDRESS>
Detailed xrdp version, build options
xrdp <IP_ADDRESS>
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.                                                                                See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --prefix=/usr                                                                                [0/1157]      --sysconfdir=/etc
      --localstatedir=/var
      --sbindir=/usr/bin
      --with-systemdsystemunitdir=/usr/lib/systemd/system
      --enable-jpeg
      --enable-tjpeg
      --enable-fuse
      --enable-fdkaac
      --enable-opus
      --enable-rfxcodec
      --enable-mp3lame
      --enable-pixman
      --enable-painter
      --enable-vsock
      --enable-ipv6
      --enable-pam-config=arch
      --enable-rdpsndaudin
      --with-imlib2
      CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection
      LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

  Compiled with OpenSSL 3.2.0 23 Nov 2023

Operating system & version
Arch Linux 20240101.0.204074
Installation method
git clone & make install
Which backend do you use?
xorgxrdp-0.9.19
What desktop environment do you use?
any
Environment xrdp running on
A systemd-nspawn container
What's your client?
Windows 11 mstsc
Area(s) with issue?
Network
Steps to reproduce

On a server with high latency to the client (~250ms) but enough bandwidth (at least 100Mbps), set up an XRDP server. Here is my dockerfile for setting up the xrdp server. The built docker image is then exported to /var/lib/machines/xrdp and booted using systemd-nspawn -M xrdp -b:

FROM archlinux:latest
RUN pacman -Syu --needed --noconfirm --noprogressbar git base base-devel sudo archlinux-keyring
RUN useradd -ms /bin/bash user && groupadd sudo && usermod -aG sudo user && \
    echo '%sudo ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/50-sudo-nopasswd
RUN printf '[archlinuxcn]\nServer = https://repo.archlinuxcn.org/$arch\n' >> /etc/pacman.conf && \
    pacman-key --init && \
    pacman-key --lsign-key<EMAIL_ADDRESS>&& \
    pacman -Syu --noconfirm --noprogressbar archlinuxcn-keyring && \
    pacman -Syu --noconfirm --noprogressbar yay
RUN pacman -Syu --noconfirm --noprogressbar plasma-desktop xorg-server
RUN sudo -u user yay -S aur/xrdp aur/xorgxrdp --noconfirm --noprogressbar
RUN sed -i s%param=Xorg%param=/usr/lib/Xorg% /etc/xrdp/sesman.ini
RUN echo 'startplasma-x11' > /home/user/.xinitrc

Use machinectl shell xrdp to get into the container and do systemctl start xrdp to run it. I'm running it in a systemd-nspawn container but the exact way of running xrdp probably doesn't matter.

Use msrtc to connect to the server. Install google chrome in the container and play a video. It's very laggy, and the bandwidth is around 1.3Mbps.

Use SSH to connect to the server and set up a tunnel with -L 33890:<IP_ADDRESS>:3389. Then connect to <IP_ADDRESS>:33890. You get the same desktop but the bandwidth goes up to 80Mbps and the video plays smoothly.

✔ Expected Behavior
Direct msrtc connection should work at least as smoothly as the connection via SSH tunnel, and use up 80Mbps of bandwidth available to xrdp.
❌ Actual Behavior
Direct msrtc connection uses only 1.3Mbps, a tiny fraction of what is possible.
Anything else?
I switched net.ipv4.tcp_congestion_control between cubic and bbr and the behavior doesn't change, suggesting it's not a problem with the congestion algorithm used.

Hi @vincent-163
An interesting problem, and an interesting network connection. BTW, thanks for taking the time to fill in the report form properly. It saves a lot of time for both of us.
A slow connection like this would be down to two things I could think of

client-server communication being dependent on a lot of round-trip messages. If this was the case, using ssh over the same route wouldn't improve the situation anyway.
Inadequate buffer sizes, resulting in a closed TCP window while waiting for ACKs from the other end.

Since you've been playing with congestion algorithms, I'm guessing you're aware of these possibilities.
Here's a couple of questions for you:-

Is there any chance the ssh connection is taking a different route which would mean that it isn't being subjected to the same latency? Things that could cause that might be policy-based routing, or even the ssh connection using IPv6.
Is your 250ms a round-trip-time or a one way latency? We can calculate some buffer sizes once we have this information based on your figures above.

Thanks.

Hello! Thanks for the reply.

The connection is indeed a bit special in that it's from China to Europe, which potentially passes through GFW in China, which may alter the connection depending on the protocol. Also both IPv4 and IPv6 is available for the server. Here is some more detail for the scenarios that I've tested:

Direct connect via IPv4 port 3389: low bandwidth
SSH tunnel via IPv4 port 22: high bandwidth
Direct connect via IPv6 port 3389: low bandwidth
SSH tunnel via IPv6 port 22: high bandwidth
Change RDP port from 3389 to 23 and direct connecting via IPv4 port 23: low bandwidth
SSH tunnel to another server close to xrdp (250ms, high latency) and then to xrdp server (1ms latency): high bandwidth
SSH tunnel to another server (250ms, high latency) and then to xrdp server (reliable network, 120ms latency): low bandwidth
SSH tunnel to another server close to client (low latency, passes GFW) and then from Hong Kong to xrdp server via tcp (high latency, no GFW): low bandwidth
Wireguard tunnel to another server close to client (low latency, passes GFW) and then forwarded to xrdp server packet by packet (high latency, no GFW): low bandwidth
Wireguard tunnel to another server close to client (low latency, passes GFW) and then ssh tunnel to xrdp server (high latency): high bandwidth

With Wireguard it's not easy for GFW to distinguish directly between SSH and RDP. I think the trend is very clear: the bandwidth depends solely on the latency between the xrdp server and the direct TCP client it's connected to, and not on the nature of the network.

All latency figures are round-trip time, i.e. the time shown by ping.

I'm creating a Windows server so I can test mstsc over a reliable connection. Do you need an xrdp server? I can create a new xrdp server in either US or Europe for you to test.

Okay, I think I've reproduced the issue with a pair of distant servers on Hetzner Cloud. I installed a Windows server "A" in Europe and an xrdp server in U.S. "B", then connected to the Windows server "A" via mstsc and then connected to the xrdp server "B" via nested mstsc. It was slow. I installed ssh on "A" and connected to the xrdp server "B" via ssh tunnel, and it was fast.

So I found a pair of configuration options in xrdp.ini called tcp_send_buffer_bytes and tcp_recv_buffer_bytes:
; set tcp send/recv buffer (for experts)
#tcp_send_buffer_bytes=32768
#tcp_recv_buffer_bytes=32768

I set both of them to 10485760. And in journalctl I get:
Jan 05 18:05:02 rdp xrdp[205]: [INFO ] setting send buffer to 10485760 bytes
Jan 05 18:05:02 rdp xrdp[205]: [INFO ] send buffer set to 425984 bytes
Jan 05 18:05:02 rdp xrdp[205]: [INFO ] setting recv buffer to 10485760 bytes
Jan 05 18:05:02 rdp xrdp[205]: [INFO ] recv buffer set to 425984 bytes

Then when I connect to this server I get 6.6Mbps. The theoretical bandwidth with 425984 bytes of window size and 250ms round-trip latency is 425984bytes/250ms=13.0Mbps. When the window size is 32768 bytes, the theoretical bandwidth is 1Mbps. This seems to explain the issue with bandwidth. The reason that the buffer is set to 425984 rather than 10485760 bytes seems to be caused by net.core.rmem_max and net.core.wmem_max which defaults to 212992 on my systems. The docs say that the actual value is double the set value.
A few things I don't understand:

It seems that the window is only set when the corresponding configurations are set, so it does not really have a default. The default receive buffer is already 425984 bytes (my default value of net.core.{r,w}mem_default) so why would setting the buffer size matter?
A mitigation that I've tried is to set sudo sysctl net.core.wmem_max=10485760. Together with the above configuration change, this one really helped! Now it's running at 100Mbps with no problems. But why would such a change be necessary for xrdp but not for SSH?

After thinking about point 2 more carefully I've come up with an explanation. The reason I can think of is pacing. Say you want to send 10MB but you have only 100KB of buffer and the window size is 5MB. Why can window size be bigger than the buffer size? Because the window size represents the amount of data in flight rather than the data to be sent, and it has to be sent smoothly and not in bursts. So rather than sending 5MB at once, you send 100KB, wait 1/50 roundtrip and then send another 100KB. And it's probably the same reason that the receive buffer is limited to a very small size.
What an ordinary program would do in this case is to try to send 5MB first, finds that only 100KB is sent, waits until the socket becomes writable again and sends another 100KB. Why would a program behave as if the window size was only 100KB? It tried to send 5MB first, found only 100KB is sent, then probably waited until a confirmation until it sent another 100KB.
I'm not sure how xrdp is designed, but maybe you'll need a buffered implementation of sockets rather than relying on the kernel, especially when the socket buffer size is smaller than the window.

Yup - the buffer size was likely the culprit. You probably only want to increase the transmit buffer size as RDP traffic is normally pretty one-directional.
I'll come to the rest of the post later, but I'd first I'll just point out that you can look at the xrdp socket memory with a command like::-
ss -m dport :3389

Or use :22 to look at ssh connections. That might make it clearer what's going on.
Starting with your last point, I can't see how buffering stuff in xrdp would help at all.  We've still get to get through the kernel buffers - there's no way round them. The TCP sending algorithm will block until the data it's just sent has been ACK'd.
I could of course be misunderstanding something here, as you raise the very valid point that ssh doesn't seem to need sudo sysctl net.core.wmem_max setting. I can't understand that either. I've had a look at the ssh sources, and there's not anything clever I can see going on related to socket options.
Are you able to look at the socket memory for ssh? That may give us some further clues.

Had a think about this last night and this morning I've done a bit of poking around. I've found something interesting (i.e. possibly wrong) here:-
https://github.com/neutrinolabs/xrdp/blob/ccee5af1f4d9f41b0887e861f2e4d2687fc603d9/common/os_calls.c#L439-L454
That bit of code is called when the listening socket is set up for xrdp, and in this form dates from 2007 when the world was a very different place.
On my system, the default value for SO_SNDBUF is 16384, so xrdp sets the send buffer to 32768. However, it seems this can stop the system from increasing the send buffer size automatically - see this stack overflow link:-
https://stackoverflow.com/questions/67113706/why-does-setting-so-sndbuf-and-so-rcvbuf-destroy-performance
My default size of 16KB for a socket buffer comes from this kernel setting:-

$ sysctl net.ipv4.tcp_wmem
net.ipv4.tcp_wmem = 4096	16384	4194304

This gives us an easy way to disable the xrdp code I've linked above, and get xrdp to behave more like sshd.
@vincent-163 - when you get a moment, can you take a look at your setting for net.ipv4.tcp_wmem? If the middle value is less than 32768, can you try changing it with this command (making the relevant substitutions)?
sudo sysctl net.ipv4.tcp_wmem='<1st current value> 32768 <3rd current value>'

If that solves your problem, the simplest thing to do will be to remove this code. Our other major platform is FreeBSD, and for FreeBSD >= 7.0 send buffer auto-sizing is also supported. Search for FreeBSD net.inet.tcp.sendbuf_auto and net.inet.tcp.sendbuf_inc for more details.

I've done some experimenting of my own, using a virtual router running OPNSense and a traffic shaper to emulate @vincent-163's network above:-
$ ping latency.test.lan
PING latency.test.lan (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from latency.test.lan (<snipped>): icmp_seq=1 ttl=62 time=235 ms
64 bytes from latency.test.lan (<snipped>): icmp_seq=2 ttl=62 time=234 ms
64 bytes from latency.test.lan (<snipped>): icmp_seq=3 ttl=62 time=241 ms
64 bytes from latency.test.lan (<snipped>): icmp_seq=4 ttl=62 time=242 ms
64 bytes from latency.test.lan (<snipped>): icmp_seq=5 ttl=62 time=239 ms
64 bytes from latency.test.lan (<snipped>): icmp_seq=6 ttl=62 time=236 ms
^C
--- latency.test.lan ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5007ms
rtt min/avg/max/mdev = 233.848/237.752/241.511/2.986 ms

According to iperf3, my bandwidth is only about 40-60 Mbps, owing to the hardware I'm using.
If I just connect to xrdp on a vanilla Ubuntu 22.04 I get round about 1mbps, broadly in line with @vincent-163's findings above. The command ss -m sport = :3389 reports a tb of 65536, which I believe corresponds to a SO_SNDBUF of 32768 (See tcp(7)).
I can then increase the default buffer size to 32768 using the script set_latency.sh below. As previously mentioned, this disables a setting of SO_SNDBUF which appears to be disabling buffer size optimisation in xrdp.
#!/bin/sh

TARGET=32768

set -- $(sysctl net.ipv4.tcp_wmem)

if [ $# != 5 ]; then
    echo "** Unable to read current SNDBUF settings" >&2
    exit 1
fi
min=$3
def=$4
max=$5

if [ $def -lt $TARGET ]; then
    def=$TARGET
    if [ $def -lt $min ]; then
        echo "** Can't set default buffer size below $min">&2
        false
    elif [ $def -gt $max ]; then
        echo "** Can't set default buffer size over $max">&2
        false
    elif [ $(id -u) -ne 0 ]; then
        echo "** Must be root to set default buffer size">&2
        false
    else
        sysctl net.ipv4.tcp_wmem="$min $def $max"
    fi
else
    echo "** Default send buffer size is already $def" >&2
fi

exit $?

After running the script, you MUST restart xrdp, i.e.:-
sudo ./set_latency.sh
sudo systemctl restart xrdp

On my test system, the difference is amazing frankly. According to iftop I'm now using the full bandwidth of the connection.  ss -m sport = :3389 reports a tb of 4194304 which corresponds to an SO_SNDBUF of 2MB.
This has been a problem with xrdp over LFNs for some time I suspect. Thanks to @vincent-163 for helping me find this.
Next step is to reproduce this on a devel build and check removing the erroneous code shows the same improvement in performance. In the meantime, the script above should help xrdp performance on WANs for any existing versions.

Hello! Thanks for pointing out the relevant source code lines and carrying out the experiment. I tried setting the second value of net.ipv4.tcp_wmem to 32768, and it did work as expected: xrdp was using my full bandwidth (30Mbps due to being on a slower connection). I also tried removing the code that you mentioned and recompiling xrdp, and it seems to have the same effect of using all available bandwidth even after I revert the kernel setting changes.
I think the cause of the bug is pretty clear now, but maybe you'll want to verify the fix on your side as well. Thanks for your timely response and hint at the location of the problematic code! It was very rewarding to have a bug report taken seriously and eventually leading to a solution.

Thanks for taking the time to write a decent fault report in the first place - without the ssh observation (which initially seemed inexplicable) I don't think we'd have found this one. I'll do some more testing then put a PR together to close this. I suspect this will fix a few historic issues, so I'll try to hunt those down too.


Binder example bug

One of the Binder examples is not working as expected.
import rioxarray

da = rioxarray.open_rasterio("bahamas_rgb.tif")
da = da.rio.reproject("EPSG:3857")

# Grab the mesh object for use with PyVista
mesh = da.pyvista.mesh(x="x", y="y", component="band")

# plot in 3D
mesh.plot(rgb=True, cpos="xy")

This is a known, flaky issue. I'll see what I can do to track it down

This test captures it and I currently have it marked as xfail until I figure out what is going awry:
https://github.com/pyvista/pyvista-xarray/blob/4efc9ebf237ab09a9b90caabccc82e9d9fcce9be/tests/test_rectilinear.py#L103-L114

For now, I have removed that example from the notebook. - components should be accessed one at a time for now

I think this is still an issue -- keeping open

No problem. I was cleaning up the issues that I opened long time ago on many repos


Windows Server 2019 / VS 2019 Env. does not include SQL Server Data Tools (available on VS2017 env) Equivalent Extensions

The VS2017 env. includes SQL Server Data tools so things like reporting services projects can be built/deployed, as documented here:
https://github.com/actions/virtual-environments/blob/master/images/win/Windows2016-Readme.md#sql-server-data-tools-for-vs-2017
SQL Server Data Tools has been broken into separate extensions for VS2019 as shown here:
https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-ver15#changes-in-ssdt-for-visual-studio-2019
But all of the extensions that replace SSDT are not available on the VS2019 image by default.
In our case this means we can't build Reporting Services projects on this later image but it may also effect others attempting to build different SQL Server related project types.
We can install these in a build step but this is slow and cumbersome.
Can I suggest that these extensions be installed/available on the VS2019 image please?

@Dhugal Could you please provide some more data on what extensions do you need? Is it enough to have this one https://github.com/actions/virtual-environments/pull/515?

The Reporting Services extension is separate to the Analysis Services one. Here is the package homepage: https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftReportProjectsforVisualStudio&ssr=false#overview

@miketimofeev - In our case it's, as described by SYoungPB, the Reporting Services extension but I would suggest that all of the extensions which replace the prior combined one are installed otherwise someone else is likely to come back with a request for one of the others.
The VS 2017 image contains the following SQL Server Data Tools for VS 2017 (Version: 15.1.62002.1090) - which itself contains the following:

SQL Server Data Tools
SQL Server Analysis Services Designer
SQL Server Integration Services Designer
SQL Server Reporting Services Designers

For VS 2019 SQL Server Data Tools is already installed so I'd suggest the following extensions are also included to keep the functionality in line with the prior image:

Microsoft Analysis Services Projects
SQL Server Integration Services Projects
Microsoft Reporting Services Projects

@Dhugal thanks for the list! I'll prepare PR with all the extensions

@dhugal all appropriate extensions are supposed to be installed now. Could you please check it?

@miketimofeev - Thanks Mike. Unfortunately I'm not seeing the latest version of the image when I carry out a build, so it's still failing.
I've attempted switching the vmImage to both 'windows-2019' and 'windows-latest' and in both cases I get the following in the initialise job step of the build, which appears to indicate a prior version of the image is still being used:
Starting: Initialize job
Agent name: 'Hosted Agent'
Agent machine name: 'WIN-HT1ND6OD3O7'
Current agent version: '2.165.2'
Current image version: '20200308.0'
Agent running as: 'VssAdministrator'
Prepare build directory.
Set build variables.
Download all required tasks.
Downloading task: NuGetToolInstaller (0.165.0)
Downloading task: NuGetCommand (2.166.0)
Downloading task: VSBuild (1.166.0)
Downloading task: VSTest (2.166.2)
Downloading task: CopyFiles (2.164.0)
Downloading task: PublishBuildArtifacts (1.158.1)
Checking job knob settings.
Finished checking job knob settings.
Start tracking orphan processes.
Finishing: Initialize job
Has the new image been deployed to all regions (we're based in the UK) and/or is there anything I need to do to get this project/build to pick up the latest image?

@Dhugal oh, I see. The image has been deployed to github only at the moment due to VS 16.5 issues that's why you still see the old image version. Sorry for the misinformation

@miketimofeev - Ok, no problem. Do you have an ETA for when it's going to be applied to Azure Dev Ops or is there somewhere we can see the status if this kind of thing?

PS: I think it would be good to get some clarification on where you can see the image that is currently deployed.
At the moment, the following page lists the images and has an entry for windows-2019:
https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
The windows-2019 link in turn takes you to this page, which indicates that the 20200319.1 image is in use, but this appears to be incorrect:
https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md

@Dhugal yeah, that's quite confusing.
@alepauly do we have any ETA for AzDO update?

I'm late to the party, but actually found myself in the same place as @Dhugal over the past few days.
Our Azure DevOps environment is still using the 20200308.0 image.  I'm using windows-latest in our pipeline.

Great news, this seems to be updated in Azure DevOps.  My build was successful and I have the March 31 image.
Current agent version: '2.165.2'
Current image version: '20200331.1'

Thanks all!

@treyhendon , deployment is in progress right now and will be finished soon.
(please pay attention that not all machines are updated for now).

@maxim-lobanov @miketimofeev - Thank you - I've switched our build to use the windows-2019 image and, after a couple of hiccups, it's now working for me too.
In case it helps anyone else out, when I initially switched to this image I got an error during the nuget restore, which I didn't get prior to this upgrade. The error is as follows:
"Exception has been thrown by the target of an invocation. The project file could not be loaded. Could not load file or assembly 'Microsoft.Build.Framework, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified."
The resolution for us was to alter the nuget install step to use version 5.5.1. Here's the relevant section of YAML:
steps:
  - task: NuGetToolInstaller@1
    inputs:
          versionSpec: '5.5.1'

The following answer on stack overflow pointed me in this direction:
https://stackoverflow.com/a/60765996


LocalWrapper deletion possible

I think the local wrapper shouldn't be able to be deleted using "delete wrapper NAME", this causes problems like this https://pastes.gq/vAlpyAEgC9 when you restart the local wrapper.
To reproduce this, just start the Master using the localwrapper start file and then delete the wrapper by typing "delete wrapper Wrapper-1" in the console, now restart the master and you should see the errors from above.

This is a tough one but I'm sure I can fix that quickly

Fixed


Use gcloud app instead of gcloud preview app

We should use gcloud app instead of gcloud preview app which will go away soon.

replaced by pull #11


docker minimal images need exact FALCO_VERSION

Signed-off-by: Leonardo Di Donato<EMAIL_ADDRESS>
What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area build

What this PR does / why we need it:
Since minimal docker images fetch the falco binary from bin or bin-dev repositories they need to explicitly set the FALCO_VERSION variable.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign leodido
You can assign the PR to them by writing /assign @leodido in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

LGTM label has been added.  Git tree hash: ddf60217d189b777ac3439427ba4ec2a710821ed

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

Needs approval from an approver in each of these files:

OWNERS [fntlnz]

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

This should (ideally) be merged before other PRs @kris-nova
PTAL

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

Needs approval from an approver in each of these files:

OWNERS [fntlnz,mstemm]

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

@poiana why this is not merged?

Reopening to let poiana handle it, let's see

Oh the problem was that it was queued behind another PR. Now it's IN! Let's party :tada:

/milestone 0.21.0


Car game

Description 📜
Please include a summary of the change and which issue is fixed.
Fixes #1351

Type of change 📝
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[] Add a new project
[] Modified or enhanced the existing projects
[] Improve the readme of any project

Domain of Contribution 📊
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[] Project using only HTML & CSS
[x] Project using HTML, CSS & JS
[] Project using ReactJs

Checklist ✅
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] I have performed a self-review of my own code or work.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Recommended) 📸

How can you make a PR before assigning? @DragonUncaged

How can you make a PR before assigning? @DragonUncaged

Ohh !!! Okay next i will not raise PR before assigning

but you have not assigned I think.

but you have not assigned I think.

ignore it now, I'm already confused at a time after checking 30+ PR
will assign you In issue


Remove broken disk_interface test for Stat

We don't want to pass non-canonicalized path to DiskInterface::Stat.
This makes test pass on appveyor.

Thanks for the PR, we definitely need to fix that AppVeyor build. Can you elaborate what's the problem with non-canonicalized paths?

Ninja relies on the path being canonicalized: so it does not seem to make sense to test the behavior of utility functions in ninja core on non-canonicalized path, mainly if some platforms do not properly support some non-canonicalize paths (see #1420 ).
If we make the assumption that all path that reach this point are canonicalized, should we assert if we get one that is not? (although that will probably make a lot of the tests to fail).
Another possibility would be to simply handle that case in the code for windows:
  string dir = DirName(path);
  string base(path.substr(dir.size() ? dir.size() + 1 : 0));
  if (base == "..") {
    // StatAllFilesInDir does not report any information for base = "..".
    base = ".";
    dir = path;
  } else if (!dir.size()) {
    dir = ".";
  }

With this change the test passes and can be kept as is without making the assumption that only canonical paths can be used.
That being said: to maintain quality, it seems it would make sense to insure that all paths that reach certain functions have been per-canonicalized.

Sorry, I cannot make a time to invest for this near future. So please feel free to take this if someone interested in this.

No problem. Thanks for the PR and the explanation, I will take a closer look (deactivated the tests for now).


Storage tweaks

Assorted collection of small changes I've made as part of doing the LVM driver.

Branch looks fine, except for the comment above, tar is supposed to already unlink everything for us, no need to do it separately unless this isn't working for some reason.

@stgraber I tested the --recursive-unlink option by creating a container, and placing a file in the / directory, then snapshotting it, and removing the file from the main volume.
I then exported the container, deleted the container and re-imported (on both LVM and DIR backends) and I cannot see the file from the snapshot existing in the main volume.
So indeed, it does appear to be working as expected. I think this is primarily because we have the rootfs dir as a child directory below the backup path being unpacked, so it always conflicts and is removed.

jenkins: test this please


Add a linear dm device on the top of a nvme device

https://github.com/longhorn/longhorn/issues/7357
deps on https://github.com/longhorn/go-spdk-helper/pull/55

@derekbit there were some PRs merged. Please help rebase this PR. Thanks.

@derekbit there were some PRs merged. Please help rebase this PR. Thanks.

Updated and ready for review. cc @innobead @shuo-wu


provideStore was deprecated?

I was looking for provideStore source code here  to check the logic inside.. I couldn't
Instead, I found  StoreModule.forRoot. I am not sure whether or not the method was deprecated from StoreModule because still so many blogs and tutorials and even examples(including offical ngrx book example too)are using provideStore() out there. Looks definitely need to update the document.(still no mention about this situation).
Also, I am interested in whether this project is almost stopped or not because the last update release was Sep. 2016.

Yes, its deprecated. Issue is described in release notes for 2.1.1, but i guess it needs to be documented smore.
And yeah, the project almost stopped, I'm waiting for important fix merge for month now ...
Nice thing it's that it's open source, so you can always fork and do your own fixes.
Other thing is that effects work nicely, and don't need many upgrades, except for better angular4 integration.

Hum.... I don't know if you have the same as me, but for me in realease 2.1.1 it says:
BREAKING CHANGE: users should import {StoreModule, Store} from '@ngrx/store' and provide the store as follows:
import {StoreModule, Store} from '@ngrx/store'
import {NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'

@NgModule({
  imports: [
    BrowserModule,
    StoreModule.provideStore(reducer, initialState)
  ]
})

So it says to use provideStore... not that it is deprecated... ?? I am also following the official app that does use provideStore... Where can we find the correct way to provide the store?

In the current release, the above usage is the correct way to use provideStore. In the next major release StoreModule.forRoot will be the correct way to provide store


chart data updator bug

Hi there,
there is a problem when updating the chart when the new data length is less than the previous one.
for example if you have the dataset.data.length = 10 then the new dataset.data.length = 3 the chart first 3 points is updated but the rest are still drawn.

I experience this issue with line charts as well.  For example:

Then updating the number of years we chart:

So my array of datapoints has changed length and I would want the whole chart to redraw.  However, there may be use cases where you want to only update the first few data points.  Would it make sense to add a property that forces redraw?
{{ember-chart type="Line" data=chartData options=chartOptions forceRedraw=true width=500 height=300}}
Or something to that effect?

@aomran I wrote another PR which should address this.  The issue is that if the number of points for an item changes, the chart won't redraw since we are still charting the same number of datasets.  PR with unit test is here:
https://github.com/aomran/ember-cli-chart/pull/37

pull request #37 was merged -- that might address this

Closing this issue since it's been a while and the next major version is being worked on here: https://github.com/aomran/ember-cli-chart/pull/54.


deps: bump debug version to 3.2.6

See https://github.com/expressjs/express/issues/4171#issuecomment-582466565

Sure! Thanks for the feedback @dougwilson. I will close this PR and add a note for v5.0 in #4171.
I was not aware of the DEBUG_FD


Add free HTML courses about Python and Alghoritms to free-programming-books-pl.md and free-courses-pl.md

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

These both look like a section of a blog rather than a book and a course; blogs are out of scope for our lists. Having said that, the material could easily be reformatted to become books or courses. You didn't answer the questions, "Is it a book?" "is it a course?"


Add new altcoins/coins via JSON RPC

Like the original peatio/peatio is there's a way to add coins via JSON RPC commands only? It will be easy to add & manage the exchange coins.

Hi, Do you can add new coins by RPC in the admin panel, only do you need, if your coin have different commands that DASH or litecoin or bitcoin, add thats differents commands in the lib/blockchainclients !

@knkrth Adding a new coin is very dangerous and if you do some mistake this can brake everything.
We are working on adding coins via management API https://github.com/rubykube/peatio/pull/1638
Where did you find call for adding currencies in legacy Peatio ?

@ysv what do you mean by dangerous?

Is easy not dangerous xD

Add new currencies is not dangerous ? Are u sure ?

Yes 👍 not dangerous !!

if you put some wrong options for currency it will brake everything

No problem, the log will advice you, if you put some wrong information!

@Joan1590 yes but you are not able to delete currencies at all because Peatio doesn't support it

You right ! 😄

Refer: https://github.com/rubykube/microkube/issues/111


Numbers with @docs begin open, but probably should begin closed.

Description of suggestion or shortcoming:
https://www.squiggle-language.com/playground?v=dev#code=eNqtj09LAzEQxb%2FKI6cWqm2VXhYEpXgQXAXrzXjIbiZuYDspm1nKUvrdnbVFevDoKQx5f37vYDwF17eyTp5MYeZzrFOWq4qYQhQ4du2QY0YKWC7gYwjUEQsenpBdIBmQpXNCX5HytWX1vyShAu%2BNmvYuY%2Bu4d207gHwU8pCEyHXqdjTaIA1h1yZ5DW%2BUlSNPpgg91xITa57le3ZbmlijhZtT4ea30JqpCnyq9f85ZjlT%2FsWGfZRmbIsdal2YdZrHeeYp6EJ8hw%2FLwAFc4Kf6UZpYq2yGusCyHFesyhmqQp%2FxuFmUOFr%2BvCQOKVWu%2B19GzVS425Vlc%2FwGpumXeQ%3D%3D

Dists don't begin open.
It's possible this issue broke it:
https://github.com/quantified-uncertainty/squiggle/pull/3403

From some more investigation, it seems like much of the issue is more about items with @doc strings, in situations where there aren't many items in a dict. This requires some more thought.


Skeleton direct award pages

Summary
Skeleton direct award pages/alterations to allow testing the flow. This skeleton has not been designed, but implements the basic steps and pages required for functionality. Following stories in Compare and Decide will re-design the pages heavily.
At a high level, this flow will let you run a search against G-Cloud, save those search parameters into a new Direct Award Procurement Project (name still in the air), and view an overview page for that project that links you back to the saved search. The new flow has been implemented under a 'direct_award' Blueprint which will allow us to move this into another app if we need to do so.
This flow will be hidden behind a Feature Flag in staging and production, but be available for use in preview.
Sidenote: We will probably switch to using the content-loader and a new manifest for naming the project as part of a later ticket, to cover validation/etc.
Please don't review the UI itself, which is out of scope for this PR, but do review how the code supporting them has been implemented (i.e. evertything else)
Complementary PRs
~~https://github.com/alphagov/digitalmarketplace-api/pull/636~~
https://github.com/alphagov/digitalmarketplace-functional-tests/pull/321
~~https://github.com/alphagov/digitalmarketplace-apiclient/pull/88~~
Example

Ticket
https://trello.com/c/Hlq5mzAy/619-save-a-search-and-create-a-project

"We will switch to using the content-loadear[sic] and a new manifest for naming the project as part of a later ticket, to cover validation/etc."

I don't think this should be necessary at all - the content here isn't linked to a particular framework and you're not filling out a JSON data field, it's general app functionality.   You should be able to stick with a one-page WTForm for this no worries I'd have thought.

👍

The API client is an issue and needs to be fixed up, but in terms of this PR I think it looks good enough for a feature that's a work-in-progress.


ENH: Add Pixi GitHub Actions Configuration

@blowekamp @jhlegarreta additional pixi steps forward.
This adds C++ configure, build, test CI testing to exercise the pixi
configuration, exercise the associated conda-forge toolchains, and
improve coverage. And an ergonomic improvement.
Next steps include macos additions, investigate Python CI additions.

\azp run ITK.Linux

/azp run ITK.Linux


OBS does not recognize the script

After installing the pip, the script does not appear. No properties available.

i have the same problem

does version have to be 3.6, or can i use a later version, such as 3.9?  cuz, i've done all the net has told me to do...and still no properties...  :/

Python version 3.6 is only getting security patches now and will go out of support soon-ish. I'd love to see this updated to work with 3.9 as well.

It's predominantly a limitation with OBS on Windows as found here: https://obsproject.com/docs/scripting.html
My primary use case is with a Windows machine so the plugin is developed as such.
If someone wants to maintain a 3.9 version (if OBS on other platforms supports it) then by all means, please do so. The more accessibility the better.

Closing since the script has refactored and dependencies have changed. If the issue comes up again, please create a new issue.


Prefer using LLVM_PREFIX if available to find clang and llvm-link programs

Before this PR, when specifying a LLVM_PREFIX, it is not used to determine the CLANG_PATH and the LLVMLINK_PATH, if these binaries are available system-wide.
After this PR, if LLVM_PREFIX has been specified, only this variable is used to determine CLANG_PATH and LLVMLINK_PATH. If it hasn't been specified, the lookup code is unchanged.
Depending on the precise semantics attached to LLVM_PREFIX, this may or may be the wanted behavior. Alternatively, we could first check only looking at the LLVM_PREFIX path, and then the other paths if not found.
The method I chose has the property that the user cannot accidentally have a CLANG_PATH or LLVMLINK_PATH not matching their LLVM_PREFIX.
I chose this method because I believe that when the LLVM_PREFIX is specified, it precisely conveys the intent to use it, and so it should completely replace the system paths.
I can change this PR if this is not the wanted behavior.

Hello,
Any news on this PR? Is there maybe a next step needed?
Thank you for answering!

Wow that was a quick response! :+1:  Thank you


add problem matchers for default js logs

Example of error this catches:
✘ [ERROR] Expected ";" but found "error"

    path/to/file.ts:203:7:

esbuild prints nothing on success hmm


fix broken link for cognito-ingress-template

aws-alb-ingress-controller/docs/guide/cognito/setup.md
https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/guide/cognito/setup.md#deploying-an-ingress
the cognito-ingress-template its not there!

@zakkg3
Hi, thanks so much for contributing!  (it's missing because i missed to update the docs site).
Would you help update the links like below:
--- a/docs/guide/cognito/setup.md
+++ b/docs/guide/cognito/setup.md
@@ -6,7 +6,7 @@ This document describes how to install ALB Ingress Controller with AWS Cognito i

 The following assumptions are observed regarding this procedure.

-* ExternalDNS is installed to the cluster and will provide a custom URL for your ALB. To setup ExternalDNS refer to the [install instructions](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/external-dns/setup/).
+* ExternalDNS is installed to the cluster and will provide a custom URL for your ALB. To setup ExternalDNS refer to the [install instructions](../external-dns/setup.md).

 ## Cognitio Configuration

@@ -19,10 +19,10 @@ Configure Cognito for use with ALB Ingress Controller using the following links

 ## ALB Ingress Controller Setup

-Install the ALB Ingress Controller using the [install instructions](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/controller/setup/) with the following caveats.
+Install the ALB Ingress Controller using the [install instructions](../controller/setup.md) with the following caveats.

 * When setting up IAM Role Permissions, add the `cognito-idp:DescribeUserPoolClient` permission to the example policy.

 ## Deploying an Ingress

-Using the [cognito-ingress-template](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/examples/cognito-ingress-template.yaml) you can fill in the `<required>` variables to create an ALB ingress connected to your Cognito user pool for authentication.
+Using the [cognito-ingress-template](../../examples/cognito-ingress-template.yaml) you can fill in the `<required>` variables to create an ALB ingress connected to your Cognito user pool for authentication.

By using these relative links, mkdocs will validate these links exists and convert it into real path, and it will also works in local docs preview mode 😄
You can test the change via
pipenv run pip install mkdocs mkdocs-material
make docs-serve

@M00nF1sh relative links working @ localhost.
thanks for sharing :)

/ok-to-test

/lgtm
/approve


fix: scope asset publishing scripts inside stage assembly directory

Inspired by #280. Added tests.
Fixes #279

@kaizencc Any feedback on this one?

I have the same issue (creating multiple GitHubWorkflow for different targets and publish-Assets-FileAssetX-step.sh files getting overwritten. I would think the solution is to include the GitHubWorkflow Stack id to the job.uniqueId using the Names.uniqueId(this) function?
-        const jobId = node.uniqueId
+        const jobId = `${Names.uniqueId(this)}-${node.uniqueId}`

Fixed conflicts

@kichik could we get this in? Perhaps add a few maintainers to this repo who are able to review PR’s like this?

@tj-harris , @mrgrain , @giseburt

@kichik could we get this in? Perhaps add a few maintainers to this repo who are able to review PR’s like this?

I wish, but I don't work for AWS and have no access to this repo.

@kaizencc, can you look at this, or is there someone else we can get on this?

I can't exactly remember why I stopped working on this besides this project being a side project for me. I seem to recall that it was because we thought that the correct use case here is 1 pipeline, 1 account. But it's been so long ago now that I can't remember exactly what, and it seems like there is at least a handful of people who are doing it this way and running into this problem.
I'll have to look into whether or not changing the file path as this PR attempts makes sense, or if we should update the file name itself.

@kaizencc,
I ultimately ended up forking this project to https://github.com/Nextdoor/cdk-pipelines-github and simplifying the system ... I removed most of the "publish assets" steps and I just pass around the cdk.out dir between build steps. It's more akin to running yarn cdk deploy ... on a laptop, but with all the benefits of the Github Pipelines.
Honestly at this point, I was considering "launching" this as a public project under a different name because I think it's really valuable. We're using it on 8 different projects internally and generating lovely Github workflow pipelines. I don't mind going back to using the core project, if its well supported.. but as you said, its a "side project" and we can't really rely on a side project that isn't reasonably well supported, ya know?

Hi @diranged,
I simply love that you + your team have forked this repo and support additional features. Especially if you use it internally and are likely to support it in the future, I think it would be a great idea to publish your construct. While I would love to say that this project can get enough love, it simply is just me :). In my view, the future of this repository is as follows:
a) a good Samaritan publishes a better construct with better support and people move on to that. we eventually archive this repo.
b) community members willing to spend time reviewing + contributing features on this repository in tandem with CDK team's stamp-of-approval reviews. We can work out a set of trusted community members similar to what we have in aws-cdk.
c) people raise hell and AWS decides to fully support this project. pretty unlikely, but never say never :).
I am committing to figure something out to fix the issue in this PR, since it seems like a problem for this repo. But I cannot commit to anything more than reviewing PRs in this repository in the future, so that's the current support level of this construct.
I am happy to chat more here or in cdk.dev about solutions for either a) or b)! The faster we land on one of these paths, the better.

@kaizencc thanks very much for reviewing this one! We also contemplated forking this package...


nice message when no snapshots match the prefix

this should prevent issues like #5
also, the tests only fail because people outside the Presslabs org don't have access to the credentials for S3 (which is a good thing)

Sorry for late review, I forgot about it.


Indentation written after a multi-line string literal

String s = "a
            b".string;

→
String s = "a
            b"    .string;

Not too hard… writeIndentation() takes care to not write indentation if we’re not at the start of a line, but some code paths bypass it. Let’s move that logic into the countingWriter.


Move to new version of libvirt

currently Arktos uses default libvirt with the OS, in ubuntu 18.04 it is v4.00. some features bug fixes might not in this build. most recent one is the hotplug memory support error we hit in our vertical scale feature implementation:
E0623 23:27:00.843517    1375 grpc.go:117] FAIL: /runtime.v1alpha2.RuntimeService/StartContainer(): failed to create domain "421a6a32-bfbd-544f-6ae4-72bc90ff716d": virError(Code=67, Domain=10, Message='unsupported configuration: At least one numa node has to be configured when enabling memory hotplug')
which is fixed in new build.
also, with different OS, the libvirt version could be different, to install/config a stable version in Arktop setup wil avoid such variations.

fixed in PR 42.


Mib for SK 3311.410-440 not quite correct

Hello,
First of all thank you for the Mib.
I have tested this with our air conditioner SK 3311.410-440 and found the following:

The subtree 2606 you mentioned does not exist on my SK 3311.410-440, so I had to remove it to make it work.

The temperature assignment for Server In and Out you have swapped. see picture.

at the entry "generalAlarm" there is a different definition, once is ok (0) and once is ok (1). ok must be here always 1.

Hi,
The issue with the subtree is correct if you have a normal unconfigured pco card. However the pco card can be used with a lot of chillers, each with a different set of sensors. I documented this behaviour in the readme: https://github.com/epiecs/carel-pco-mibs#configuring-the-pcoweb-card.
The general alarm issue has been fixed, thanks!
Putting the temps like this was a deliberate choice. This is the input of the chiller and the output. Back then I contemplated as well to swap in and out but it seemed to me that this would make it harder to use this mib for monitoring later on.

I documented this behaviour in the readme: https://github.com/epiecs/carel-pco-mibs#configuring-the-pcoweb-card.

oh, I had overlooked that.

Putting the temps like this was a deliberate choice. This is the input of the chiller and the output. Back then I contemplated as well to swap in and out but it seemed to me that this would make it harder to use this mib for monitoring later on.

Ok, but confused when you look at the website, so I changed it.

No problem, changing things to how you like them is what open source is all about :D. I think that this issue can be closed now. Thanks again for the bugreport!


Rename option missing

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.23.0
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20220223.14
Platform
Windows
OS Version
Windows 10 pro
Bug Description
There is no rename option/feature on the explorer for which I'm not able to rename my resources. Does anyone have the same issue?

Steps to Reproduce

Launch explorer
Select the blob you want to edit
Click on the file

Actual Experience
As there is no rename feature/option, I'm not able to edit the names of my files.
Expected Experience
No response
Additional Context
No response

@Gourab3129 for certain services (such as non-gen2 blobs), rename was removed in favor of clone. This was done for services where a rename API is not available from the storage service. If you'd like to do a rename you will need to use "Clone". That will create a copy of the thing you are cloning in the same location with whatever name you'd like. After you do the clone you can then delete the original copy.

Closing due to lack of response. If you are still having this problem we recommend opening an Azure support ticket. Alternatively you can open a new issue here.


[Relay/TOPI][ONNX/TFLite] Refactor MATRIX_SET_DIAG Operator for Relay…

Refactor MATRIX_SET_DIAG  operator in Relay/TOPI to support ONNX Trilu operator

Hmm this will eventually get merged, I might get to upgrading CI next week

Working on upgrading onnx right now https://github.com/apache/tvm/issues/9511

wait for #9882

The new image with updated ONNX should become available by this week.

New CI image with updated onnx is (finally up)!

@shengxinhu do you still have interest in working to get this PR merged? If not then I can try to shepard this in new branch.

@shengxinhu do you still have interest in working to get this PR merged? If not then I can try to shepard this in new branch.

Thanks, please shepard it.


Client never close

Looks like conntion.outbound().sendObject(obj).then() will never complete, so ReactNettyClient.close() can not close the connection because it always waits for send-to-complete.
Connection need be close after exit message sent, even has no send complete signal.
@mp911de I am not sure it is right, would NettyOutbound.sendObject(xxx).then() has complete? Thx for your help.

It completes after sending. Ideally, add a LoggingHandler to inspect what's going on.
R2DBC Postgres uses the same pattern (see https://github.com/r2dbc/r2dbc-postgresql/blob/8f9c7fecdb6c813fd2e85ce95d508a8e7a0adac7/src/main/java/io/r2dbc/postgresql/client/ReactorNettyClient.java#L225-L231)

This is my use error, it should be caused by the fact that I did not set ChannelPromise correctly.


training problem

Thank you for your wonderful work!
I want to train a model with my own dataset, but there are something wrong in the process.
The error is described as below:
===> Loading datasets
===> Building model
/home/luomeilu/anaconda3/envs/py2/lib/python2.7/site-packages/torch/nn/_reduction.py:49: UserWarning: size_average and reduce args will be deprecated, please use reduction='sum' instead.
warnings.warn(warning.format(ret))
===> Setting GPU
===> load model model/model_epoch_28.pth
/home/luomeilu/anaconda3/envs/py2/lib/python2.7/site-packages/torch/serialization.py:435: SourceChangeWarning: source code of class 'torch.nn.parallel.data_parallel.DataParallel' has changed. you can retrieve the original source code by accessing the object's source attribute or set torch.nn.Module.dump_patches = True and use the patch tool to revert the changes.
warnings.warn(msg, SourceChangeWarning)
/home/luomeilu/anaconda3/envs/py2/lib/python2.7/site-packages/torch/serialization.py:435: SourceChangeWarning: source code of class 'torch.nn.modules.conv.Conv2d' has changed. you can retrieve the original source code by accessing the object's source attribute or set torch.nn.Module.dump_patches = True and use the patch tool to revert the changes.
warnings.warn(msg, SourceChangeWarning)
/home/luomeilu/anaconda3/envs/py2/lib/python2.7/site-packages/torch/serialization.py:435: SourceChangeWarning: source code of class 'torch.nn.modules.activation.ReLU' has changed. you can retrieve the original source code by accessing the object's source attribute or set torch.nn.Module.dump_patches = True and use the patch tool to revert the changes.
warnings.warn(msg, SourceChangeWarning)
Traceback (most recent call last):
File "main.py", line 128, in
main()
File "main.py", line 69, in main
model.load_state_dict(weights['model'].state_dict())
File "/home/luomeilu/anaconda3/envs/py2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 769, in load_state_dict
self.class.name, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for DRRN:
Missing key(s) in state_dict: "input.weight", "conv1.weight", "conv2.weight", "output.weight".
Unexpected key(s) in state_dict: "module.input.weight", "module.conv1.weight", "module.conv2.weight", "module.output.weight".
It seems that the parameters in model are miss? I can't understand the error, hoping you can give me some suggestions. Sincerely appreciate for your reply.

You need to remove module from the state_dict because it was trained with data parallel.
You can do model = model.module to achieve the same thing, I believe.


border

Hi,
I do not know what am I doing wrong, it does not draw border around image.

Please use the chat rooms:

HTML/CSS help chat room
JavaScript help chat room
Other Official Rooms

or try looking through our forum for help with a specific challenge.
Happy Coding!


[SUGGESTION] Wait Variable/Function for Custom Commands

Pretty much says it all in the title. A wait function for the Custom Commands that would allow us to create a delay in the command to force a timed output (i.e. a temporary role)
{{wait 30s/h/d}}
I am going to assume you have thought of this and might have found issues in how it handles all these waits and the drain on the server hardware, so if you can't do this, I would understand. But the things we could do with this function... is amazing.

I already suggested this ages ago :p

Not likely to be added, as i can't restore the state of it after shutting down the bot.
An alternative is to add something like {{execCC delay-seconds cc-id data}} instead

Damn, I have wanted this for so long and it would be so good in so many ccs I use

@jonas747 this can be closed as its now possible


correct: wrong sort order when dragging and dropping

Hi Trung,
PR Type

[x] Feature
[ ] Other

What is the current behavior?

Wrong sort order when dragging and dropping issue card on kanban board

What is the new behavior?

Correct sort order when dragging and dropping issue card on kanban board

Does this PR introduce a breaking change?

[ ] Yes
[x] No

@t4professor Thanks for the PR, could you please attached a video of the before and after behavior?
I still don't understand the issue and the fix.

@trungk18 here is Netlify / Pages changed preview: https://deploy-preview-94--jira-clone-angular.netlify.app/
you can compare this old and new version

@t4professor Thanks, I tried it out. But I still couldn't understand what went wrong with the current code and its behavior. It works fine to me. As I mentioned, it is best if you can attach a screenshot of the bug on the current version :)
Thank you.


String to Function

The examples for event handlers will not pass through a strict JSON parser, which makes it impossible to store the schema as pure json (e.g. external to the app, or to be passed around between components).
http://ulion.github.io/jsonform/playground/?example=events
A "string to function" feature would be extremely useful for this. For example, instead of:
    {
      "type": "button",
      "title": "Click me",
      "onClick": function (evt) {
        evt.preventDefault();
        alert('Thank you!');
      }
    }

...we could write:
    {
      "type": "button",
      "title": "Click me",
      "onClick": "function (evt) { evt.preventDefault(); alert('Thank you!'); }"
    }

...or even just statements that could be wrapped in an eval call, instead of a full-fledged function:
    {
      "type": "button",
      "title": "Click me",
      "onClick": "evt.preventDefault(); alert('Thank you!');"
    }

PR is welcome.
2015-06-09 1:20 GMT+08:00 Rusty Gerard<EMAIL_ADDRESS>
The examples for event handlers will not pass through a strict JSON
parser, which makes it impossible to store the schema as pure json (e.g.
external to the app, or to be passed around between components).
http://ulion.github.io/jsonform/playground/?example=events
A "string to function" feature would be extremely useful for this. For
example, instead of:
{
  "type": "button",
  "title": "Click me",
  "onClick": function (evt) {
    evt.preventDefault();
    alert('Thank you!');
  }
}

...we could write:
{
  "type": "button",
  "title": "Click me",
  "onClick": "function (evt) { evt.preventDefault(); alert('Thank you!'); }"
}

...or even just statements that could be wrapped in an eval call, instead
of a full-fledged function:
{
  "type": "button",
  "title": "Click me",
  "onClick": "evt.preventDefault(); alert('Thank you!');"
}

—
Reply to this email directly or view it on GitHub
https://github.com/ulion/jsonform/issues/12.

--
Ulion

My workaround is to use a reviver before initializing the JSON Form:
// Reviver method for JSON.parse to coerce strings to other objects
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example:_Using_the_reviver_parameter
function preprocessJson(k, v) {
  // Convert strings to functions
  if (typeof v === "string" && v.startsWith("function")) {
    console.log("Reviving function: " + v);
    eval("var f = " + v);
    return f;
  }

  return v;
}

var myForm = JSON.parse('{...}', preprocessJson);
$('form').jsonForm(myForm);

If this is useful I can update the wiki. Thoughts?

It's cool, please do that. and maybe also the original repo's wiki please.
2015-06-17 5:12 GMT+08:00 Rusty Gerard<EMAIL_ADDRESS>
My workaround is to use a reviver before initializing the JSON Form:
// Reviver method for JSON.parse to coerce strings to other objects// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example:_Using_the_reviver_parameterfunction preprocessJson(k, v) {
// Convert strings to functions
if (typeof v === "string" && v.startsWith("function")) {
console.log("Reviving function: " + v);
eval("var f = " + v);
return f;
}
return v;
}
var myForm = JSON.parse('{...}', preprocessJson);
$('form').jsonForm(myForm);
If this is useful I can update the wiki. Thoughts?
—
Reply to this email directly or view it on GitHub
https://github.com/ulion/jsonform/issues/12#issuecomment-112571065.

--
Ulion

Sorry, which wiki are you referring to? I'm only aware of https://github.com/joshfire/jsonform/wiki
There's no content at https://github.com/ulion/jsonform/wiki

Ok, it's cool, I thought I had one, never mind. use the one which peoples
know.
2015-06-18 5:27 GMT+08:00 Rusty Gerard<EMAIL_ADDRESS>
Sorry, which wiki are you referring to? I'm only aware of
https://github.com/joshfire/jsonform/wiki
There's no content at https://github.com/ulion/jsonform/wiki
—
Reply to this email directly or view it on GitHub
https://github.com/ulion/jsonform/issues/12#issuecomment-112954315.

--
Ulion


Add more unit tests in cmd/cstor-pool-mgmt/controller/replica-controller/handler_test.go

Add missing UT for functions/methods in handler.go.
Please comment if you want to be assigned for this issue.
Help links:
Contributors guide
Guide to write unit tests in golang
Reference on how we write UT
Note:

We only make use of standard "testing" library provided by go. Please do not add external dependency such as 'assert' etc
Checkout new branch from master branch and once done raise a PR against the same.
Don't forget to join hacktoberfest2018 channel on our slack workspace.

I would like to work in this issue.

Sure @sachinmukherjee you can work on this issue. Also do join slack channel(in description) for any help.


Improve activity - order of transactions

Maybe these will be addressed as part of activity work, however, wanted to point this out.
As I was doing more investigation for a transaction related issue reported by Android user, I found out that the transactions were not captured accurately.
https://github.com/AlphaWallet/alpha-wallet-android/issues/1628
The most accurate transactions were captured by Zerion.

Also check out the order of xDAI transactions that I executed to test #2188
Please investigate why the order of the successful DAI transaction is different to others wallets. Let me know if we need more details.
Also it is not very evident that the transactions have been failed.
@colourfreak - can you review how Android displays failed transactions and confirm the designs so that we can align both Android and iOS to display failed transactions similarly.

@AW-STJ can you paste the wallet address some where to check against?

There you go Boon, wallet address 0xfCABe3451aC8EDfB8FB6b9274C2E095D9cCC8082

There is another on with Contact Execution. Zerion does the work.

Hash
https://etherscan.io/tx/0x98f65e2e737b69a42786a9abe2bba4a376a5390c9aca641900c991ca70f12f68
Application
0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41

Fixed the error (including sort order) in #2192, but created an issue for display in https://github.com/AlphaWallet/TokenScript/issues/393


WebUI Font Format Adjustment

What would you like to be added:
Update the standard of font format & size.

#1: 16px Segoe Regular
#2: 16px Segoe Bold
#3: 12px Segoe Regular
#4: 14px Segoe Semibold
#5: 16px Segoe Regular

@debuggy @sunqinzheng please take a look when you have time


sat-py-changelog

#235  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sasa-tomic and the rest of your teammates on  Graphite


[ sematinc ] VmChecker, Spacing & Symbol Issues

VmChecker, Spacing & Symbol Issues
Hello!
I think that my code is generating the JSON files ok with the provided examples

But I see that VmChecker has the symbol table as an object, the "error_list" is labeled as "errors", the statements array is under an object named script, etc...

And I would like some advice on how to add the symbol elements to the AST tree ( for now I just add symbol : 0  to the tree where it is needed)
I do not understand when it is 0 or 1 or what it is 😅
Edit: forgot to ask about the spacing, I am separating the JSON file by a tab is this ok?

Just found a new thing on ocw the symbol table is an object

but on the provided files it is an array

Please update the checker from git, it was changed this week.

On 25 Apr 2020, at 10:22, Radu-Nicolae-1221F<EMAIL_ADDRESS>wrote:

Just found a new thing on ocw the symbol table is an object
but on the provided files it is an array
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yup just saw that
I still have some questions:
when I stringify the JSON is it spaced by a tab?
and is the variable_list.alf.json supposed to have the ast.script.statements empty

Yup just saw that
I still have some questions:
when I stringify the JSON is it spaced by a tab?

Tabs and spaces do not matter, we do not verify with diff.

and is the variable_list.alf.json supposed to have the ast.script.statements empty

Yes, there are only variable declarations without any attribution. The variable declaration is just to inform the compiler to add a variable to the symbol table, it does  not produce any actions. On the other hand, if you have a declaration with an initial value that will produce an attribution.

Yup just saw that
I still have some questions:
when I stringify the JSON is it spaced by a tab?

Tabs and spaces do not matter, we do not verify with diff.

and is the variable_list.alf.json supposed to have the ast.script.statements empty

Yes, there are only variable declarations without any attribution. The variable declaration is just to inform the compiler to add a variable to the symbol table, it does not produce any actions. On the other hand, if you have a declaration with an initial value that will produce an attribution like in this example simple_with_value.alf

We updated the homework text, to have errors instead of error_list in the output ast.

Thanks!


LSILogicParallel disk is still listed by lsblk after hot adding\removing

Description
LSILogicParallel disk is still listed by lsblk after hot adding\removing
Environment and steps to reproduce

Deploy a Flatcar 3033.2.0 or 3033.2.1 vm.
Hot add a LsiLogicParallel controller and a disk with this controller.
Run command lsblk, it could see sda and sdb disks.
Hot remove the LsiLogicParallel disk.
Recan all scsi devices:
for i in find /sys/ -iname rescan;do echo 1 >$i; done;for i in find /sys/ -iname scan;do echo "- - -" >$i; done;
Run command lsblk. ----> sdb is still there.

Expected behavior
Only sda is shown after step 6.
For 2983.2.0, after step 6, sdb is not shown.

Thank you for reporting, @Winnie81 ! Could you please attach the journal and dmesg output? It would help us a lot to understand what's happening.

Thank you for reporting, @Winnie81 ! Could you please attach the journal and dmesg output? It would help us a lot to understand what's happening.

Hi, journal and dmesg are [attached
journal.zip
dmesg.txt
.

Thank you for providing the logs Winnie, this is very helpful.

@t-lo Is there any progress for this issue? Thanks!

Thank you for providing the logs Winnie, this is very helpful.

Hi, Could you please update the newest progress for this issue? Thanks a lot.

Hi, @Winnie81
We currently have no idea what this is caused by and have not made any progress on this issue.

This issue exists in 3033.3.0 and 3139.2.0, hope it could be fixed. Thanks a lot.

Hi, @Winnie81 We currently have no idea what this is caused by and have not made any progress on this issue.

I'd like to know do you have any plan for this issue? Thanks a lot.

Hi @Winnie81,
I took the time to investigate this again. The change comes from this commit https://github.com/util-linux/util-linux/commit/c90a8f1a3cdf116e050708098f0188349b55abc3, part of util-linux 2.37. You will note that in both cases (flatcar 2983.2.0 and 3033.2.0) the /dev/sda node is present after hotunplug, but has a size == 0. Old lsblk filters this out from it's output, and new lsblk does not. This matches the behavior I am seeing with Ubuntu 22.04 VMs, but I am testing with the LSILogic controllers in Qemu.
So since this is upstream behavior, you might want to adjust your test case to account for this. Or perhaps report this as an issue against the util-linux project.

Hi @Winnie81,
I took the time to investigate this again. The change comes from this commit util-linux/util-linux@c90a8f1, part of util-linux 2.37. You will note that in both cases (flatcar 2983.2.0 and 3033.2.0) the /dev/sda node is present after hotunplug, but has a size == 0. Old lsblk filters this out from it's output, and new lsblk does not. This matches the behavior I am seeing with Ubuntu 22.04 VMs, but I am testing with the LSILogic SCSI controller in Qemu.
So since this is upstream behavior, you might want to adjust your test case to account for this. Or perhaps report this as an issue against the util-linux project.

Thanks for your update. From my testing with Flatcar 2983.2.0, after hot remove, its size doesn't change:
core@localhost ~ $ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda       8:0    0  8.5G  0 disk
|-sda1    8:1    0  128M  0 part
|-sda2    8:2    0    2M  0 part
|-sda3    8:3    0    1G  0 part
| -usr 254:0    0 1016M  1 crypt /usr |-sda4    8:4    0    1G  0 part   |-sda6    8:6    0  128M  0 part  /usr/share/oem |-sda7    8:7    0   64M  0 part   -sda9    8:9    0  6.2G  0 part  /
sdb       8:16   0    5G  0 disk
sr0      11:0    1 1024M  0 rom
If rescan it, sdb will gone.

I understand that on 2983.2.0 sdb does not show up in lsblk output after rescan. Please check if ls -l /dev/sdb still shows that the underlying device node exists after the rescan. In my testing this is the case regardless of Flatcar version (and also on other distros), and so the sdb entry being shown in lsblk output is purely dependent on the util-linux version. If you could confirm that we are seeing the same, that would be great.
In that case it is a matter of the linked commit in util-linux, and needs to be reported to util-linux.

Yes, as described  in https://github.com/flatcar-linux/Flatcar/issues/608#issuecomment-1143078433, for 2983.2.0, after rescan, sdb doesn't exist.

@Winnie81
I've just created an ESXI environment with a Flatcar 2983.2.0 VM and using LSILogicParallel controller. The attached harddrive is called sdb.
After hot-removing the harddrive from the controller, and running the rescan command, sdb disappears from the lsblk output but ls -l /dev/sdb confirms that the device node still exists. I also see:
$ cat /sys/block/sdb/size
0

So based on that, I can't see any bug to be fixed here. The change in output is due to the util-linux update.
Are we seeing different things?

@Winnie81
I've just created an ESXI environment with a Flatcar 2983.2.0 VM and using LSILogicParallel controller. The attached harddrive is called sdb.
After hot-removing the harddrive from the controller, and running the rescan command, sdb disappears from the lsblk output but ls -l /dev/sdb confirms that the device node still exists. I also see:
$ cat /sys/block/sdb/size
0

So based on that, I can't see any bug to be fixed here. The change in lsblk output is due to the util-linux update.
Are we seeing different things?

Sorry for the late response. I missed your reply.
As https://github.com/flatcar-linux/Flatcar/issues/608#issue-1115887651 described, this issue started from 3033.2.0.
And also please refer to our above discussions about the different behaviors between 2983 and its later visions.

lsblk changed their output, you will need to adapt your test to filter out devices with size 0. In util-linux 2.38.1 there is a new cli flag (--noempty) that does this for you https://github.com/util-linux/util-linux/commit/554e866b94fc9965fef089cf480abea474dc9e34, but since this flag is not available in older versions you will need to handle size 0 devices anyway.
There's nothing further that I can do here.


Need add the cloud groups to ZScalar Firewall

Please add these below groups to the ZScalar Firewall.
Groups list:

gp-u-dex-celr-developer-dev
gp-u-dex-celr-developer-tst
gp-u-dex-celr-developer-stg
gp-u-dex-celr-developer-prd

Sent the email to the Firewall team in order to add the groups to ZScalar Firewall.

Raised firewall request "C75511".

I have received update from the Firewall team saying that they are not able to allow the Cloud group for the CDC Internal firewall rules. So I have raised another request for the AD Windows group to the Cloud team and added task #677

As per the update the firewall request has been completed and also assigned Zscalar permissions to the groups as well.
@uil9 @ugx2 @guntukuhari  Please validate the access.

I was able to run the tests without zscaler blocking connection to Azure.


Release 1.0.0

PR description
This is the first release of rangeland, a remote sensing pipeline for trend analysis in grasslands.
Rangeland is the first remote sensing pipeline in nf-core and, thus, deviates from most nf-core pipelines.
PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Added my thoughts #8(review


move logic from gke_rbac_config.sh into actual google config

Title says it all. A little unclear how to draw the line between what sk8s should handle and users responsibility to take care of their own cloud

obsolete, closing


updating System.String samples for Try .NET

per https://github.com/dotnet/dotnet-api-docs/pull/2971

@mairaw, @BillWagner -- please hold off on reviewing this PR until I resolve the conflicts.
#hold-off

@mairaw -- Maira, feel free to review the non-conflicting samples.  Thank you.

Are you going to fix the merge conflicts?

@mairaw, @BillWagner -- please conclude your review; my apologies for the earlier merge conflicts.

#sign-off


Remove statics from core.

This change removes handling of attributes from anything that core touches, other than NodeData.

OOC, why?

As it happens, I was just rereading #150 and #152 tonight where we talked about doing a check if NodeData.statics is strict equals to the statics we're sent.
Putting aside using a strict equals statics to determine if node has changed (inside something like matches). If we assign nodeData.statics = undefined on create, we can detect if there should do something with statics outside of core:
# virutal_elements.js
function elementOpen(tag, key, statics, ...attrs) {
  const node = coreElementOpen(tag, key);
  const data = getData(node);

  // statics can only be undefined after the node has been created
  if (data.statics === undefined) {
    if (statics) {
      for (let i = 0; i < statics.length; i += 2) {
        updateAttribute(el, statics[i], statics[i + 1]);
      }
      // Maybe one day we'll use strict-equality in `matches`
      // For now, we'll leave this commented out.
      // data.statics = statics
      data.statics = null;
    } else {
      // Ensure we never run statics code again for this node.
      data.statics = null;
    }
  }
}

With that, we can completely eliminate statics and initElement (ahem opt_initCallback and opt_initData) from core code.

OOC, why?

Basically want to make core independent of anything related to attributes. Ideally, if you wanted a completely different way of dealing with attributes, say using objects without having to go through the element open flow, you could still use the DOM node moving logic.

With that, we can completely eliminate statics and initElement (ahem opt_initCallback and opt_initData) from core code.

Hmm, perhaps we can just separate out the parts of NodeData that are not relevant to core and check for the presence of that. Will just have to create a separate import step and chain it to the existing import.
// Non-core version of getData
function getData(node, statics) {
  let data = node[..];

  if (!data) {
    data = ...;
    initStatics(node, statics);
  }

  return data;
};

function elementOpen(tag, key, statics, ...attrs) {
  const node = coreElementOpen(tag, key);
  const data = getData(node, statics);
}

Hmm, perhaps we can just separate out the parts of NodeData that are not relevant to core and check for the presence of that.

As long as these don't later get attached to NodeData. Maybe some other property on the Node?

As long as these don't later get attached to NodeData. Maybe some other property on the Node?

Ended up using your solution. Splitting the data into two doesn't help because we need to import the whole subtree when importing a node to make sure a server-side render works correctly. Will still split it out in separate PR though.

LGTM.


Denizen causing disconnect.spam

[20:52:00] [Server thread/INFO]: Elvi81 lost connection: disconnect.spam
[20:52:00] [Server thread/INFO]: Elvi81 left the game.
[20:52:00] [Server thread/WARN]: handleDisconnection() called twice
I found out by chanse that this was caused by denizen while looking for an answer, does not seem to be the first time it's done something like this.
It can happen randomly but for 1 of my users it happend just by chatting.
Made a test server, same plugins just different builds of denizen, happens on 1588 and 1589 but as of yet not on 1587.
Run on spigot build 507.

We fixed that bug though.

@Elvi81 does the latest dev build fix the issue?

Seems to work, havn't been able to get it to kick me as of yet, do note that this does not affect op's just normal players.


3d tiles, partial loading of tile trees

As discussed with @pjcozzi and @lilleyse here are some changes that implement partial loading of tile trees and fix the problem of empty tiles (tiles.json-pointing tiles) being rendered.

@lilleyse can you please do a first round of review on this?  Then I'll do a quick look when you think it is ready.

@e-andersson I would like to make some minor changes to the code, could you give me commit access to your fork?

@lilleyse Sure, done!

Thanks!

Easier to view my comments inline with the code here

Overall most of the changes are organization related, with some miscellaneous cleanup. Please let me know if I overlooked something.

@lilleyse is this ready for me to look at?

@pjcozzi Yes this is ready.

Sorry, more terminology, please call 3D tile tree a tileset throughout.

@e-andersson if you can give me commit access to your fork, I will make trivial changes without bothering you?

@e-andersson this looks good, thanks again!  Just those minor terminology changes.  I will also reformat a few things to make it closer to the Cesium conventions, but I can do that after we merge.
@lilleyse please cover all this possible cases (e.g., additive and replacement refinement) when you add tests.

Thanks @pjcozzi. I've given you access to my fork now, feel free to make those changes.
Just a note on isTileset -- doesn't isTileset make it look like we're talking about an actual Cesium3DTileset? Agreed though that subtree is more confusing.

Just those comments.  The approach is all good, we just need to finalize the corner case details for the spec.

@pjcozzi New changes in branch 3d-tiles-tree-loading, keeping them in separate branch for since you said merging is easier that way.

Note that the last changes don't quite cover all cases and are not exhaustively tested.
Currently:

A root tile (as specified by a tiles.json) can have tileset content. If so, when selected, select/load will be recursively carried out for its child (a root).
A tile does not need a defined parent.
Cesium3DTileContentState is used for tiles with tileset content as well as other tiles. I haven't yet added any states (such as READY_TO_TRAVERSE), not yet sure of how to go about the traversal and where to do it.

@pjcozzi and @lilleyse, do you have tests/specs for 3D tiles selection and rendering? Can't find any obviously relevant ones in the Specs/.

We started to add some sample data for testing, with more test data to come. Check out Specs/Data/Cesium3DTiles and Instanced3DModel3DTileContentProviderSpec.js. We are also adding batched, point, and composite tests soon, as well as tests specifically for Cesium3DTileset.
Here is our test roadmap: https://github.com/AnalyticalGraphicsInc/cesium/issues/3177

@e-andersson I'm not sure what state this is in.  Do you want me to review this with the intent of merging it?  Or do you have specific questions (like this TODO) you need answered before you can finish (and then I will review it all)?  Or are you waiting on test data?

@pjcozzi I wasn't very clear about the state of this. I'm working on a few more things at the moment, will get back soon when it's ready for review.

OK, sounds good.

@pjcozzi Now when we've decided to not allow tileset content tiles with children, it seems nested tileset content tiles don't make sense anymore. A tiles.json tile whose external root is another tiles.json tile wouldn't add any possible functionality, right?

@e-andersson are you talking about the "tileset of tilesets" case where, for example, we may have a tileset for each city, but we don't want to load lots of tilesets just to meaningless loop over most of them since their projected screen-space error would be so small?
I think the right approach is to build a spatial data structure between each tileset (think of them as leaf nodes) and the root "tileset of tilesets" using basically empty interior nodes (with external tiles.json as desired).  This is the same, for example, as a quadtree that only has content in leaf nodes - using the quad tree is more efficient than just making all the leaf nodes a child of the root.

@pjcozzi Yes, that's what I mean.
The approach you describe is pretty much what we over here have so far talked about as the most promising solution. In order to make a tileset of tilesets tree (quad or other), it seems that tiles with empty content need to be allowed by the specification. Currently the tiles schema says that a content.url is required, but perhaps that could be optional and if not given it would indicate an empty tile whose purpose is to let the tree branch out (thanks to its children).
I made a simple sketch of how I imagine such a tileset of tilesets would look, assuming empty content tiles are allowed. This is perhaps getting slightly off-topic for this pull request, but it would be nice to know this case will be supported within the current tileset/tiles specification before finishing.

Wow, nice diagram.  content.url is required, but content is optional.  From the spec:

content is optional. When it is not defined, the tile's bounding volume is still used for culling (see Grids).

(Also, there is no "required" : true in the schema).
I believe this works for your use case (I have the same exact use case in mind).  Do you agree?
I'm pretty sure I tested this in Cesium and I also added it to our list of unit tests to add (thanks for the reminder).  Let me know if you run into an issue.

Thanks :-)
Ah, I looked in the wrong place, didn't occur to me to check whether content itself was required or not. Great, then I don't see any remaining issue. Will just change a few things back and then ping you when this PR is ready. Thanks for clarifying things!

Sounds great!

@pjcozzi This is ready for review now. Sorry it took a while -- I started exploring other ways of structuring the code and the algorithm but in the end it didn't turn out well.

Thanks @e-andersson!  I am in a conference all day so I will look at this tomorrow.

@lilleyse any comments?

Nothing major to add, but I do wonder if Tileset3DTileContentProvider can be fleshed out more to include some of logic that happens during the traversal. However I'm not completely sure what this would look like.

@lilleyse thanks, perhaps that is something that will become obvious to you when you write unit tests.

Thanks again @e-andersson!  I made a few style tweaks to make things consistent with the Cesium codebase (we are working on a guide in #3312 ).  My only outstanding question is https://github.com/AnalyticalGraphicsInc/cesium/pull/3237#discussion_r47012819.
I am going to merge this since it will help @lilleyse write unit tests.  Open another PR if we need to tweak this.

@lilleyse I was thinking about that too, and tried a few things in that direction but didn't find a good, clean way of doing it. I'm available for discussion of other options if needed!
@pjcozzi Question addressed, new PR submitted. Hadn't seen that coding guide until now, will use from now on!

@e-andersson you haven't seen the coding guide yet because we just finished the draft yesterday. :)
We also just wrote a Testing Guide.  Once we finish the initial 3D Tiles tests (#3177), we'll ask that all new pull requests include tests.

That explains it :)
Looking forward to seeing the 3D tileset tests.


[Refac] Refactor main.py to handle macOS build

Well this is apparently 1000% tougher than I anticipated. Currently researching how to pull this off using containers but we will probably want to roll this into the next release

sooo cloooose https://github.com/mttaggart/OffensiveNotion/commit/b7b3879166cadc06b27c550e912cb75a304fc453

i think we got it https://github.com/mttaggart/OffensiveNotion/commit/2b2693efb423c995f9bc3031f7b3d76f5eb3fb63

Was unable to compile the macOS agent using main.py and docker. Was able to recreate the same issue between KDE and another Ubuntu host.
One option is to keep the macOS release binary as the option for the users and point them towards it in the Wiki, also include the instructions for compiling from source.


Updated roadmap?

The TensorFlow roadmap was last updated a year ago (January 2017); could there be an update from the team on where TensorFlow is going in 2018?

Unfortunately I don't think we can commit to including individual issues/PRs to a given release unless they're part of a larger roadmap item. @aselle @av8ramit correct me if I'm wrong.

@skye Why not? Many of your upstream updates comes from your internal branch that merge more or less regularly here on the public available repository.
Tagging "community" issue/pr on a target release could be useful to have a tentative effort. I.e. this is working for Kubernetes as a general reference.

Yes, unfortunately that's true at the moment. Since we release on a regular cadence we don't commit to individual PRs/issues unless there is a special exception made.

@av8ramit But you target also review workload on user public PRs. So this could be useful for community PR and also to issue that are waiting for an internal upstream update. You can see many comment on issues that are not labeled as contribute welcome with comment like "we are working on this".

Just as an example we need to always make explicit requests like this in meanwhile TF team is releasing subsequent RC.

One reason for this is, when we tried to commit to certain features for releases, we saw our releases delayed by months (i.e. 1.5 release). When we move to modularizing tensorflow, and make more smaller component releases this will be feasible.
However, with the current monolithic structure of tensorflow, committing to features for releases just cause us to penalize all of TF if a feature is particularly messy, or problematic.

@gunan It is a good point but also on large repositories/communities like Kubernetes the release labels are just a desired target. When you are aware to skip the release target, best-effort, the label is re-target again.
So here we are not talking about managing release blocking labels.

For the pure Roadmap https://github.com/tensorflow/tensorflow/pull/16984 is merged.

@sandeepngupta has merged the new roadmap which will be populated to the site soon. Closing for now.


ARM release

Hi @NaroZeol
It would be nice to get an ARM release of the plugin.

The community plugin checklist has some pointers on the naming convention for the zip files.

Hi @NaroZeol
It would be nice to get an ARM release of the plugin.

Yes, it should be.
But unfortunately I don't have an ARM machine.
Can you tell me the right way to build an ARM release?

The community plugin checklist has some pointers on the naming convention for the zip files.

OK, I will checkout later to make them nice to the checklist.

I'll build the ARM64 DLLs from source.
The devdocs contains instructions to get started; https://github.com/microsoft/PowerToys/tree/main/doc/devdocs#compiling-powertoys

If you get stuck, I can write in more details.

OK, I will try it later.

Hey @hlaueriksson
I have already finished ARM64 support in dev branch
But I have no idea whether it can work on ARM64 because I don't have an ARM machine
Do you know any way to test it on my computer?

No, as far as I know, you need an ARM processor to test it for real.
I test my x64 releases on my computer and hope that the ARM64 versions work 😁

I think a software based emulator like  qemu should be helpful.
But it's a bit awkward that we need to test a simple plugin by downloading and installing another large software. 🤐
So maybe there should be an official guide to build ARM64 release. 🤥

So maybe there should be an official guide to build ARM64 release. 🤥

Yes, if you create an issue in the PowerToys repo and ask for that, I will give it a 👍

Yes, if you create an issue in the PowerToys repo and ask for that, I will give it a 👍

Haha, it seems not suitable for a beginner like me to ask for that.

Don't be so humble 😸
I think alot of people would be interested in that guide.

I created a NuGet package that simplifies referencing the ARM64 dependencies:

https://github.com/hlaueriksson/Community.PowerToys.Run.Plugin.Dependencies

Amazing one!
No need to take tens of minutes to build dependencies any more!


Using directive for Scala Js options

Scala CLI allows configuring following options for Scala JS:

jsVersion
jsModuleKind
jsDom

We are missing using directives parser for them similar to one for JavaOptions.

Also worth pointing out that even the "options for Scala.js" that scala-cli seems to handle are missing several options of Scala.js itself:
https://github.com/scala-js/scala-js/blob/master/linker-interface/shared/src/main/scala/org/scalajs/linker/interface/StandardConfig.scala
including important ones like esFeatures and moduleSplitStyle.

Per https://github.com/VirtusLab/scala-cli/discussions/531 we should also include jsHeader option.

Closed #332 via #539


SW-1970 Add endpoint to delete seedling batches

DELETE /api/v1/nursery/batches/{id} will delete a batch from the system.
The ability to delete a batch means we have to relax some of our constraints.
For example, it becomes possible for there to be a nursery transfer withdrawal
where the destination batch no longer exists; we still want the withdrawal to
exist on the originating side.

Current dependencies on/for this PR:

main

PR #696   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: Jaq45FKacaObSUdvtsmF


Firefox version 61 doesn't work, is there a solution?

Help :(

Yes, change your version.
As you didn't supply anything useful to debug then this is your reply.


Project Manager(MVC)

``
Project Manager
Action Adopt MVC for code Reuse
Action Build System/Standard testing framework (Maven)
Primary: @Greg
Secondary: @Dylon
Size: 3
Actual Size: 5
Actual Time: 12hrs
``

MVC has been implemented in the project.


Crash after using enums in export variables.

Godot version:
v3.2.1 b0eca5828ccd3a5c07b77e82e567c45937de9056
OS/device including version:
GNU Linux x64
Issue description:
When you declare variables export(enum) in the same class, and the enum take from another, when fast switching between nodes (or slow, but the result will be longer wait), then the crash of the engine.
The archive is a video demonstration of how to reproduce the bug, if something is unclear.
Steps to reproduce:

Create new project.
Create 3 GDScripts: "ScriptA", "ScriptB, "ScriptC" and add "class_name" for each of them.
"ScriptA" - it contains a enum (E_TEST_ENUM {ZERO = 0, ONE = 1, TWO = 2, THREE = 3})
"ScriptB" - contains export(ScriptA.E_TEST_ENUM) var _test_enum: int
"ScriptC" - extends from "ScriptB". Can contain anything.
Create a simple scene: any root node and multiple nodes with a "ScriptC" GDscript.
Switch between nodes. Preferably quickly.

Minimal reproduction project:
ExportEnumsBug.zip

I couldn't reproduce it with v3.2.1.stable.mono on Windows

Was able to reproduce on 3.2.1-stable but not on branch master. Maybe it was already fixed..?

Was able to reproduce on 3.2.1-stable but not on branch master. Maybe it was already fixed..?

What is the point of checking the master branch if they actively do 4.0?
I last checked on commit ed27b7e6b973eb6be6fdac4439e99a1907b9cb58, and this is 3.2.2 already. This bug is reproduced in the same way.

What is the point of checking the main branch if they are actively doing 4.0? If I'm not mistaken.
I last checked on commit ed27b7e, and this is 3.2.2 already. This bug is reproduced in the same way.

Well the point is to give information that this bug has been fixed in the development branch, and will be fixed in 4.0 and later versions. The commit that fixed it could be identified and backported to the 3.2 branch, thus also fixing it for future 3.2.x versions.

I checked on the current last commit 510406af28b9a4f101db631bb256c7ede2966c3d in branch 3.2 - the result is the same.

I've retested, and after all it's also happening on the master branch. Looks like a problem on the GDScript parser, but I have no experience here to help.
Here's a debug stacktrace, might be helpful:
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x3bd70) [0x7efe372cdd70] (??:0)
[2] /usr/lib/libstdc++.so.6(__dynamic_cast+0x21) [0x7efe3765bd11] (??:0)
[3] GDScriptNativeClass* Object::cast_to<GDScriptNativeClass>(Object*) (/home/ricardo/Workspace/Programs/godot/./core/object.h:589)
[4] GDScriptParser::_parse_class(GDScriptParser::ClassNode*) (/home/ricardo/Workspace/Programs/godot/modules/gdscript/gdscript_parser.cpp:4542)
[5] GDScriptParser::_parse(String const&) (/home/ricardo/Workspace/Programs/godot/modules/gdscript/gdscript_parser.cpp:8532)
[6] GDScriptParser::parse(String const&, String const&, bool, String const&, bool, Set<int, Comparator<int>, DefaultAllocator>*, bool) (/home/ricardo/Workspace/Programs/godot/modules/gdscript/gdscript_parser.cpp:8637)
[7] GDScriptLanguage::get_global_class_name(String const&, String*, String*) const (/home/ricardo/Workspace/Programs/godot/modules/gdscript/gdscript.cpp:1954)
[8] EditorData::script_class_get_base(String const&) const (/home/ricardo/Workspace/Programs/godot/editor/editor_data.cpp:905)
[9] EditorData::script_class_get_icon_path(String const&) const (/home/ricardo/Workspace/Programs/godot/editor/editor_data.cpp:941)
[10] EditorNode::get_object_icon(Object const*, String const&) const (/home/ricardo/Workspace/Programs/godot/editor/editor_node.cpp:3753)
[11] EditorPath::update_path() (/home/ricardo/Workspace/Programs/godot/editor/editor_path.cpp:93)
[12] InspectorDock::update(Object*) (/home/ricardo/Workspace/Programs/godot/editor/inspector_dock.cpp:390)
[13] EditorNode::_edit_current() (/home/ricardo/Workspace/Programs/godot/editor/editor_node.cpp:1985)
[14] EditorNode::push_item(Object*, String const&, bool) (/home/ricardo/Workspace/Programs/godot/editor/editor_node.cpp:?)

Fixed by #42936.

Many thanks!


add OpenMP condition to serialize runtests on requests

@awvwgk : related to #10
Proposition to avoid running tests in parallel: addition of an optional intent(in) argument parallel in run_testsuite.
If parallel = .true., same behavior as previouly.
If parallel = .false., all tests are run sequentially.

Codecov Report

Merging #11 (5226fd3) into main (9c3401e) will decrease coverage by 0.07%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
- Coverage   69.10%   69.02%   -0.08%
==========================================
  Files           2        2
  Lines         479      481       +2
  Branches      260      261       +1
==========================================
+ Hits          331      332       +1
  Misses         23       23
- Partials      125      126       +1

Impacted Files
Coverage Δ

src/testdrive.F90
70.48% <66.66%> (-0.09%)
:arrow_down:

Continue to review full report at Codecov.

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