Failed to create passt VM

What happened:
virt-launcher log is：
root@master:~/test/kubevirt# kubectl logs -f --tail 100 virt-launcher-vm1-passt-xxmw8
{"component":"virt-launcher","level":"info","msg":"Collected all requested hook sidecar sockets","pos":"manager","level":"info","msg":"Connecting to libvirt daemon: qemu+unix:///session?socket=/var/run/libvirt/virtqer.go:86","timestamp":"2023-05-16T07:07:27.894260Z"}
{"component":"virt-launcher","level":"info","msg":"Sorted all collected sidecar sockets per hook point based on their priority and name: map[]","pos":"manager.go:89","timestamp":"2023-05-16T07:07:27.894375Z"}
{"component":"virt-launcher","level":"info","msg":"Connecting to libvirt daemon: qemu+unix:///session?socket=/var/run/libvirt/virtqemud-sock","pos":"libvirt.go:519","timestamp":"2023-05-16T07:07:27.896072Z"}
{"component":"virt-launcher","level":"info","msg":"Connecting to libvirt daemon failed: virError(Code=38, Domain=7, Message='Failed to connect socket to '/var/run/libvirt/virtqemud-sock': No such file or directory')","pos":"libvirt.go:527","timestamp":"2023-05-16T07:07:27.897050Z"}
{"component":"virt-launcher","level":"info","msg":"libvirt version: 9.0.0, package: 3.el9<EMAIL_ADDRESS>2023-02-01-12:58:56, )","subcomponent":"libvirt","thread":"40","timestamp":"2023-05-16T07:07:27.924000Z"}
{"component":"virt-launcher","level":"info","msg":"hostname: vm1-passt","subcomponent":"libvirt","thread":"40","timestamp":"2023-05-16T07:07:27.924000Z"}
{"component":"virt-launcher","level":"error","msg":"Unable to open /dev/kvm: No such file or directory","pos":"virHostCPUGetCPUID:1422","subcomponent":"libvirt","thread":"40","timestamp":"2023-05-16T07:07:27.924000Z"}
{"component":"virt-launcher","level":"error","msg":"internal error: Unable to get session bus connection: Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id or /etc/machine-id: Failed to open file “/var/lib/dbus/machine-id”: No such file or directory","pos":"virGDBusGetSessionBus:126","subcomponent":"libvirt","thread":"40","timestamp":"2023-05-16T07:07:27.925000Z"}
{"component":"virt-launcher","level":"error","msg":"internal error: Unable to get system bus connection: Could not connect: No such file or directory","pos":"virGDBusGetSystemBus:99","subcomponent":"libvirt","thread":"40","timestamp":"2023-05-16T07:07:27.925000Z"}
{"component":"virt-launcher","level":"info","msg":"Connected to libvirt daemon","pos":"libvirt.go:535","timestamp":"2023-05-16T07:07:28.401262Z"}
{"component":"virt-launcher","level":"info","msg":"Registered libvirt event notify callback","pos":"client.go:539","timestamp":"2023-05-16T07:07:28.406903Z"}
{"component":"virt-launcher","level":"info","msg":"Marked as ready","pos":"virt-launcher.go:75","timestamp":"2023-05-16T07:07:28.407409Z"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:1233","timestamp":"2023-05-16T07:07:30.769903Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:1991","timestamp":"2023-05-16T07:07:30.770041Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Executing PreStartHook on VMI pod environment","name":"vm1-passt","namespace":"default","pos":"manager.go:531","timestamp":"2023-05-16T07:07:30.770670Z","uid":"7f3d93f5-1fec-4f66-8cd1-4feb8de35c45"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Starting PreCloudInitIso hook","name":"vm1-passt","namespace":"default","pos":"manager.go:552","timestamp":"2023-05-16T07:07:30.770735Z","uid":"7f3d93f5-1fec-4f66-8cd1-4feb8de35c45"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 52 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.783840Z"}
{"component":"virt-launcher","level":"info","msg":"passt: netlink: cannot set NETLINK_GET_STRICT_CHK on 4","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784047Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 44 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784078Z"}
{"component":"virt-launcher","level":"info","msg":"passt: No external routable interface for IPv6","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784095Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 36 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784111Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Outbound interface (IPv4): eth0","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784126Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 9 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784140Z"}
{"component":"virt-launcher","level":"info","msg":"passt: MAC:","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784154Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 32 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784168Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     host: 00:00:00:aa:a8:5a","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784182Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 10 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784199Z"}
{"component":"virt-launcher","level":"info","msg":"passt: DHCP:","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784224Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 27 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784239Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     assign: <IP_ADDRESS>","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784257Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 26 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784272Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     mask: <IP_ADDRESS>","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784286Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 26 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784302Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     router: <IP_ADDRESS>","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784325Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 9 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784380Z"}
{"component":"virt-launcher","level":"info","msg":"passt: DNS:","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784420Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 19 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784452Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     <IP_ADDRESS>","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784528Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 21 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784559Z"}
{"component":"virt-launcher","level":"info","msg":"passt: DNS search list:","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784586Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 34 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784614Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     default.svc.cluster.local","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784645Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 26 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784676Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     svc.cluster.local","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784717Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 22 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784746Z"}
{"component":"virt-launcher","level":"info","msg":"passt:     cluster.local","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.784827Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 53 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.789117Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 63 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.789233Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 124 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.789259Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 40 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.789277Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 64 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.789293Z"}
{"component":"virt-launcher","level":"info","msg":"passt: mount /: Permission denied","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.805244Z"}
{"component":"virt-launcher","level":"info","msg":"passt: Failed to send 40 bytes to syslog","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.805329Z"}
{"component":"virt-launcher","level":"error","msg":"failed waiting for passt going to background","pos":"generators.go:355","reason":"exit status 1","timestamp":"2023-05-16T07:07:30.858304Z"}
{"component":"virt-launcher","level":"fatal","msg":"failed to create libvirt configuration","pos":"podnic.go:234","reason":"exit status 1","timestamp":"2023-05-16T07:07:30.858453Z"}
panic: failed to create libvirt configuration

goroutine 98 [running]:
kubevirt.io/client-go/log.FilteredLogger.Critical({{0x1cd8fe0, 0xc000695480}, {0x1a42777, 0xd}, 0x0, 0x0, 0x2, 0x2, {0x1cdb220, 0xc00011c1e0}}, ...)
        staging/src/kubevirt.io/client-go/log/log.go:302 +0x194
kubevirt.io/kubevirt/pkg/network/setup.(*podNIC).PlugPhase2(0xc000197a78, 0x1d04218?)
        pkg/network/setup/podnic.go:234 +0x118
kubevirt.io/kubevirt/pkg/network/setup.(*VMNetworkConfigurator).SetupPodNetworkPhase2(0x17fcb00?, 0xc00025cae0?, {0xc000128500?, 0x18?, 0x0?})
        pkg/network/setup/network.go:94 +0x125
kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap.(*LibvirtDomainManager).preStartHook(0xc00015a1a0, 0xc000020000, 0xc000020580, 0xa0?)
        pkg/virt-launcher/virtwrap/manager.go:580 +0x69b
kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap.(*LibvirtDomainManager).SyncVMI(0xc00015a1a0, 0xc000020000, 0x0?, 0x0?)
        pkg/virt-launcher/virtwrap/manager.go:880 +0x345
kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cmd-server.(*Launcher).SyncVirtualMachine(0xc0002da078, {0xc000120500?, 0x51e446?}, 0xc000120500)
        pkg/virt-launcher/virtwrap/cmd-server/server.go:184 +0x8a
kubevirt.io/kubevirt/pkg/handler-launcher-com/cmd/v1._Cmd_SyncVirtualMachine_Handler({0x19bfc20?, 0xc0002da078}, {0x1cf1480, 0xc00024f0e0}, 0xc0004b4ae0, 0x0)
        bazel-out/k8-fastbuild/bin/pkg/handler-launcher-com/cmd/v1/kubevirt_cmd_go_proto_/kubevirt.io/kubevirt/pkg/handler-launcher-com/cmd/v1/cmd.pb.go:2721 +0x173
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000041980, {0x1cf74b8, 0xc00038a300}, 0xc00057a000, 0xc000117320, 0x2a75940, 0x0)
        external/org_golang_google_grpc/server.go:1024 +0xd2f
google.golang.org/grpc.(*Server).handleStream(0xc000041980, {0x1cf74b8, 0xc00038a300}, 0xc00057a000, 0x0)
        external/org_golang_google_grpc/server.go:1313 +0xa16
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        external/org_golang_google_grpc/server.go:722 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        external/org_golang_google_grpc/server.go:720 +0xea
{"component":"virt-launcher-monitor","level":"info","msg":"Reaped pid 12 with status 512","pos":"virt-launcher-monitor.go:125","timestamp":"2023-05-16T07:07:30.865753Z"}
{"component":"virt-launcher-monitor","level":"error","msg":"dirty virt-launcher shutdown: exit-code 2","pos":"virt-launcher-monitor.go:143","timestamp":"2023-05-16T07:07:30.866199Z"}

the vm logs(kubectl describe vm vm1-passt):

What you expected to happen:
A clear and concise description of what you expected to happen.
The virtual machine is powered on successfully
How to reproduce it (as minimally and precisely as possible):
1. Create a VM with a passt interface
2. Attempt to start the VM
3. The vm fails to start. Viewing pod virt-launcher-vm1-passt-xxmw8 logs： failed waiting for passt going to background

Additional context:
Add any other context about the problem here.
Environment:

KubeVirt version (use virtctl version):  v1.0.0
Kubernetes version (use kubectl version): 1.27.1
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release):  Ubuntu 18.04.5 LTS
Kernel (e.g. uname -a):  Linux master 4.15.0-112-generic
Install tools: N/A
Others:

the vm config is:
root@master:~/test/kubevirt# cat vm1-passt.yaml
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: vm1-passt
spec:
  running: false
  template:
    metadata:
      labels:
        kubevirt.io/size: small
        kubevirt.io/domain: vm1-passt
    spec:
      domain:
        devices:
          disks:
            - name: containerdisk
              disk:
                bus: virtio
            - name: cloudinitdisk
              disk:
                bus: virtio
          interfaces:
          - name: red
            passt: {}
            ports:
            - port: 8080
              protocol: TCP
        resources:
          requests:
            memory: 64M
      networks:
      - name: red
        pod: {}
      volumes:
        - name: containerdisk
          containerDisk:
            image: quay.io/kubevirt/cirros-container-disk-demo
        - name: cloudinitdisk
          cloudInitNoCloud:
            userDataBase64: SGkuXG4=

@qsliao thanks for reporting this.
I'm not sure this has something to do with the issue, but, I wonder: do you have a particular reason to use a 7 years old version of Ubuntu (16.04) with a 5 years old kernel (4.15-ish), without (in your kernel configuration) support for KVM or virtio-net?
Maybe it should be supported -- I'm not claiming it's not, I'm not familiar with related requirements.

Sorry, the os system is Ubuntu 18.04.5 LTS,  a VM  can be created  successfully  with the same image using slirp mode.  So I guess it's because libvirt doesn't support passt

libvirt doesn't support passt

It does, even though that integration is not used in KubeVirt yet.
The problem rather seems to be:
{"component":"virt-launcher","level":"info","msg":"passt: mount /: Permission denied","pos":"generators.go:340","timestamp":"2023-05-16T07:07:30.805244Z"}

which comes from the phase where passt is sandboxing itself, by remounting (in a detached mount namespace) its own / to an empty, zero-sized filesystem.
Why is this denied? If SELinux plays a role here, that might be something on the lines of this (fixed) issue. But it's not clear to me where packages and policies come from in case you're running KubeVirt on Ubuntu -- is SELinux touching that at all?
The AppArmor profile already covers that, but it's not clear to me if the official Ubuntu package is used here -- I guess not, because you're on 18.04...?
Maybe somebody more familiar with the "packaging for KubeVirt" topic could shed some light? I'm looking at you, @andreabolognani and @AlonaKaplan :)

The way workloads running inside containers interact with the host's AppArmor policy is still quite unclear to me.
The fact that a quite modern, RHEL-based userspace is running on top of a very old, Debian-based kernel and container runtime is probably not helping :)
Some of the information contained in this document might possibly prove useful.

Some of the information contained in this document might possibly prove useful.

Thanks for the pointer! @qsliao, would it be possible for you to have a look at that document and find out (there are some examples there) if host-side auditing logs say anything about the failed mount operation?

I have uninstalled libvirtd and restarted the system by referring to this document but the following errors still occur when entering the "passt" command in pod, the following error will occur：

virt-launcher logs  has no errors

The passt vm can be started successfully by adding the following annotation to the VM or VMI object:
annotations:
container.apparmor.security.beta.kubernetes.io/compute: unconfined

After selinux is installed, disable selinux can solve the problem:
sudo apt install selinux selinux-utils selinux-basics auditd -y
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
reboot

@qsliao great debugging, thanks. I wouldn't call that a solution, rather a workaround. It's actually the first time I see SELinux being used on a Debian-based distribution.
It would be really helpful if you could look at audit logs (it should be /var/log/audit/audit.log on Ubuntu), temporarily enable enforcing mode for SELinux (setenforce 1), start the VM, and check what's reported as failure for the mount() call in the log. Same with AppArmor.


Make resteasy read and commit timeout configurable

What this PR does / why we need it:
This PR makes the read and connect timeout of the Resteasy client configurable.
Special notes for your reviewer:
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[x] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

Additionally, please create a test for this. You can use something like this
https://github.com/adorsys/keycloak-config-cli/blob/2fe3664b68b50deb63904ace9d539b1923b0af9a/src/test/java/de/adorsys/keycloak/config/provider/KeycloakProviderIT.java#L40-L56
as reference.
Background: This repository has automatic dependencies enabled including major bumps. By having a test for this functionality,  I just know that the feature still works even after a upgrade of resteasy.

Thanks for your review. 9c58 and 794f should fix your comments.
By the way: Thanks for your amazing work - it's a real pleasure to work with the library!

Hi @jkroepke - as I need this feature in my setup, do u already know when the next release will take place? Just so I can plan it accordingly.

4.5.0 is 28 days old, I'll create a new one.
Enjoy https://github.com/adorsys/keycloak-config-cli/releases/tag/v4.6.0


chore(cmake): add FindFlatBuffers.cmake

Add FindFlatBuffers.cmake to support google flat buffer in our ot3 modules.
My first attempt at something like this. It seems to work though.

Not using flat buffers.


sched: replace sync pause with async pause for setpriority

Summary
In the kernel, we are planning to remove all occurrences of up_cpu_pause as one of the steps to simplify the implementation of critical sections. The goal is to enable spin_lock_irqsave to encapsulate critical sections, thereby facilitating the replacement of critical sections(big lock) with smaller spin_lock_irqsave(small lock)
Impact
setpriority
Testing
Configuring NuttX and compile:
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
$ make
Running with qemu
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic -machine virt,virtualization=on,gic-version=3
-net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -kernel ./nuttx

[Experimental Bot, please feedback here]
The provided PR information does not meet the NuttX Requirements. Here's why and what's missing:
Missing Information:

Summary:

What functional part of the code is being changed? Be specific. Mention the files, functions, or modules affected by the removal of up_cpu_pause.
How does the change exactly work?  Provide a technical explanation of how removing up_cpu_pause contributes to simplifying critical sections and enabling spin_lock_irqsave.

Impact:

The word "setpriority" seems out of place. You need to systematically address all impact points:

Is new feature added? Is existing feature changed?  Clarify if this is purely an internal refactoring or if it impacts user-facing functionality.
Impact on user:  Will any application code using NuttX APIs or behavior be affected?
Impact on build: Will any build system changes be required (new configs, dependencies)?
Impact on hardware:  Are any architectures or boards specifically affected?
Impact on documentation: Does any documentation need updates due to code changes or the removal of up_cpu_pause?
Impact on security:  Could this change introduce any potential security vulnerabilities?
Impact on compatibility: Will this affect compatibility with older NuttX versions, applications, or drivers?

Testing:

Build Host(s): Specify the operating system, CPU architecture, and compiler used for building NuttX.
Target(s):  Be specific about the target architecture (qemu-armv8a is a good start) and the NuttX configuration used (nsh_smp).
Testing logs before change: Provide actual logs demonstrating the behavior before your change.
Testing logs after change: Provide logs demonstrating how the behavior is different or improved after your change. The logs should showcase the impact of removing up_cpu_pause.

Recommendations:

Expand on the technical details: Clearly explain the role of up_cpu_pause and how its removal achieves the stated goals.
Thoroughly address impact:  Consider all potential consequences of the change, even if the answer is "NO" – provide a brief justification.
Provide concrete testing evidence: Include relevant log snippets that demonstrate the change's effect.

By providing comprehensive information, you'll make it easier for reviewers to understand and approve your PR.


Preferred size of graphs is not set upon Document deserialization

This needs to be done because otherwise the preferred size is determined based on the edges.  If one of the roots is higher than any value in the edges, the root will be lost.  I don't know why we are not using the roots directly.  They are instead recalculated.  Perhaps this is to account for root values that might be bogus, either intentionally or not.  (The definition of root has changed over time.)  One of the unit tests in reach is losing a root after serialization and this seems to be the cause.  A PR is already prepared.
https://github.com/clulab/processors/blob/f14ada88eecfc13e5ed6d6f78aa8f2dca9d84f3b/main/src/main/scala/org/clulab/serialization/json/JSONSerializer.scala#L76-L97

The roots are for output only so that a human can read them.  However, since they are redundant and have been incorrect or just interpreted differently in the past, they are recalculated when the file gets read in.

In versions about to me merged, the size gets taken from the number of words rather from the edges.

Addressed with #719


Exclude rows from bulk selection

With this PR it is possible to set per row if the bulk selection checkbox should be rendered.
Updated the docs with documentation.

@dejury I am holding back my feedback as we were discussing whether we are delaying this until v3 as the API for Form and Table configuration is changing and this would be deprecated in some months again.

@pxlrbt i really hope you wont wait until v3, this is something we currently need in a project :(

@RemiHin Best to overwrite the component in your project then. Doesn't really makes sense to add a method that is already deprecated when it's introduced.

I don't like doing it, but I think we should introduce it. Yes, it will be deprecated soon, but it wont be completely removed. And v2 users deserve this feature

@pxlrbt @zepfietje @danharrin Fixed all given feedback, I think we have a good feature right now. Can you please have a look again and merge into the next version of v2?

Looks fine to me now. You tested the changes again in your project?

Yes, I did :)

Thanks


Add stop command to RPC server and lncli

Executing lncli stop will send a shutdown request to the RPC server, which will then trigger the interrupt handler in signal.go.
At the moment the shutdown request is non-blocking and will return after delivering the request to the interrupt handler. In the future we could make it wait for the shutdown to finish, and deliver information about the daemon state on shutdown.
Closes #181

Coverage decreased (-0.01%) to 73.926% when pulling a33abca5c810b62ce71e863b8163e873157bccad on halseth:request-daemon-shutdown-rpc into 337a4a4f5655d0cd39c307a68857e98978f63d1b on lightningnetwork:master.

Coverage decreased (-0.01%) to 73.424% when pulling 91bf047a66488eb58c4edce4b70a484fc1dd838d on halseth:request-daemon-shutdown-rpc into 8e4199ee922a955be0dde284c34ee1a1e6d6d6f7 on lightningnetwork:master.

Done 👍


Remove DDS

Hello, my name is Zahra. In your project, the phase-locked loops example part does not work due to the removal of DDS. Please fix it. Thank you very much.

Thanks for the report. This is now fixed on the release/0.0.x branch.


Unable to Run Android

I am running Genymotion andorid simulator along side ionic and this the npm-debug.log created.
0 info it worked if it ends with ok
1 verbose cli [ '/Users/Kangil/.nvm/versions/node/v4.6.0/bin/node',
1 verbose cli   '/Users/Kangil/.nvm/versions/node/v4.6.0/bin/npm',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info prebuild mythemeapp@
6 info build mythemeapp@
7 verbose unsafe-perm in lifecycle true
8 info mythemeapp@ Failed to exec build script
9 verbose stack Error: mythemeapp@ build: ionic-app-scripts build
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter. (/Users/Kangil/.nvm/versions/node/v4.6.0/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:172:7)
9 verbose stack     at ChildProcess. (/Users/Kangil/.nvm/versions/node/v4.6.0/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:172:7)
9 verbose stack     at maybeClose (internal/child_process.js:829:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid mythemeapp@
11 verbose cwd /Users/Kangil/Desktop/Ionic_tutorial_project/myThemeApp
12 error Darwin 15.6.0
13 error argv "/Users/Kangil/.nvm/versions/node/v4.6.0/bin/node" "/Users/Kangil/.nvm/versions/node/v4.6.0/bin/npm" "run" "build"
14 error node v4.6.0
15 error npm  v2.15.9
16 error code ELIFECYCLE
17 error mythemeapp@ build: ionic-app-scripts build
17 error Exit status 1
18 error Failed at the mythemeapp@ build script 'ionic-app-scripts build'.
18 error This is most likely a problem with the mythemeapp package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     ionic-app-scripts build
18 error You can get information on how to open an issue for this project with:
18 error     npm bugs mythemeapp
18 error Or if that isn't available, you can get their info via:
18 error
18 error     npm owner ls mythemeapp
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

I also have this problem. It's very strange - I created a page with two  tags inside  on it, and that builds and runs fine. But the moment I add  to one of the divs, it breaks with the error shown above.

I was able to getting it working for iOS but still the issue persists with my attempt to emulate Android and running the Genymotion simulator. Here are also my dev environment info:
Cordova CLI: 6.3.1
Gulp version: CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS:
Node Version: v6.7.0

Found a solution!
I reverted my Android SDK to 23.0.3 and everything working fine.
Also another thing I had noticed was I had initially added a click method on a button that referenced a function in a class that did not exist. After removing that entirely from the button everything rendered fine in an Android emulator via genymotion.

Hello all! Going to close this one as it seemed to be a genymotion issue and not an Ionic issue. Thanks for using Ionic!


Fixing the project name in part of licence of Readme.md

Change the name of the project in Readme.md

Better open a issue and link this pull request


Unable to Sign package with GPG key

I'm following the guide to create the minimalPkg. I've verified that the gpg key has been created by running gpg -K. I even ran this command by chroot into the build environment.
However, when I run the command to create the package pkgscripts-ng/PkgCreate.py -p x64 -c minimalPkg, I get the following error:
"SignPackageError:
[x64] Gpg key not exist. You can add -S to skip package code sign or import gpg key first."
Any ideas? Thank you!

Gpg is not using secring.gpg for storing private keys after version 2.1. I'm not sure how to convert the current file to secring.gpg seems --export-key-file is not working for Synology build.
But here's another way which builds an older version gpg and can generate the key you need for building.
Use the script in docker container or any Debian(Ubuntu) system.
docker pull debian:latest # if you want to use docker docker run -it --name debian debian bash #if you use docker. apt update && apt install -y libpth-dev libksba-dev libgcrypt-dev libgpg-error-dev libassuan-dev zlib1g-dev wget bzip2 gcc make pinentry-tty wget https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.0.31.tar.bz2 tar -xvf ./gnupg-2.0.31.tar.bz2 cd ./gnupg-2.0.31 && ./configure && make && make install mkdir -p ~/.gnupg echo "pinentry-program /usr/bin/pinentry-tty" >> ~/.gnupg/gpg-agent.conf gpg2 --gen-key
and you can copy gpg files out by docker cp debian:/root/.gnupg/ <someplace in you machine>
hope this helps.


Unable to download .zip file because it "needs authorization"

Required information

Mac model: MacBook Pro (13-inch, M1, 2020)
macOS version: Monterey 12.2.1

Description of issue
I'm curious enough to download this screensaver. The problem was that I was unable to download it on Chrome because it "needs authorization." How can I bypass this issue?

Look into this project's README.md, it probably has the answer for you.


Managed Instance PITR Backup Storage

Under Storage Costs, there is discussion on how to view the Managed Instance PiTR backup storage.  However the 'mi pitr backup storage' meter subcategory is not available under the cost analysis in the portal.

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

ID: 9492cedc-cea0-af9d-29a0-52cbca8c5e21
Version Independent ID: 969a8654-8f95-d5de-351d-73c8e02e5d3a
Content: Automatic, geo-redundant backups - Azure SQL Database
Content Source: articles/sql-database/sql-database-automated-backups.md
Service: sql-database
Sub-service: backup-restore
GitHub Login: @anosov1960
Microsoft Alias: sashan

@anosov1960 We are not able to see the same for our subscriptions in Azure Portal. Please check and provide some guidance.
Please change the document if it has to be changed.
@nilopmsft We are assigning this to our doc author for further review.

One possibility I am considering which I don't have the most realistic way of proving is that the metric is not populated if not assessed. Meaning if I have no charge for this due to my backups not exceeding my overall instance size, there is nothing there. I would hope that the counter is there with a $0 value but may not be the case. Not sure if that is worth reviewing or confirming.

@nilopmsft Yes it is as we can add a note to the document if that is the case.
@anosov1960 Please review the document and provide feedback.

I was able to see the PiTR charges by looking in Cost Management for Part Number AAD-33538 which maps to RA-GRS for that resource when looking at the price list. Is that correct?

#reassign: @MashaMSFT
Pls get input from Borko

@nilopmsft , thanks for reaching out! Your interpretation is correct - meters that are not used are not going to be visible in the portal. For example, if you do not have a managed instance, you will not see counters for managed instances. Does this help?
Thanks!
Masha from the SQL Docs team

Yes thank you and at the time was not apparent. Given that there could be potentially hundreds of metrics that could be displayed but are not unless a service is in place to hydrate those metrics, it makes sense to not be available in this context.

Awesome! Glad to hear everything is working as it should :) I'll close out this Git Issue but please feel free to comment should you need anything further.
Thanks and hope you have a wonderful rest of your day!
Masha from the SQL Docs team
#please-close


Prometheus.<node_ip>.nip.io is unreachable

Can't reach Prometheus/Grafana/Alertmanager. I'm running a k3s cluster of 4 Raspberry Pi 4s, each running Raspberry Pi OS Lite.

My cluster is healthy and my nodes and master are all available.

I've opened both ports 80 + 443 on both my master and node (via ufw).
The output of kubectl get ingress --all-namespaces and my vars.jsonnet file:

I've followed the steps for the k3s quickstart. There isn't much in the way of troubleshooting in the readme, so I'm a bit stuck.

Are you using K3s? Are the ingress pods (Traefik) running? Are you able to access any published application in the cluster, like a simple NGINX?
Have you tried setting the ingress suffix with the same IP as the master IP?

Yes, I'm running k3s. Here are my pods. As you can see, I got the standard Kubernetes Dashboard working (ignore my-release-nginx, I accidentally tried using an x86 helm chart):

I changed my ingress suffix to <IP_ADDRESS> and re-did the make & kubectl apply commands, still doesn't work:

My Kubernetes Dashboard:

I see that your master has the IP <IP_ADDRESS> and the ingresses point to <IP_ADDRESS>.nip.io. Might be your problem.
Other than that, you might need to investigate further on the infrastructure.

I figured it out: In the quickstart, I did the steps manually instead of make deploy. Running make deploy worked. Not sure why but it did 🤷♂


build: retry 'docker push'

docker push" has been seen to fail temporarily with "error creating
overlay mount to /var/lib/docker/overlay2/xxx/merged: device or
resource busy".  To increase the chance of the CI builds completing,
we simply try three times before giving up.

Example of the failure: https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/job/devel/73/execution/node/161/log/
Somehow retrying the job didn't help, so it is open whether this more localized retry loop is really going to solve the issue.

just curious what might be root cause. I havent seen such "busy, failed to push" error in local builds
I usually push to remote registry.
Is it significant that we push to local registry in CI build?
Could added "journalctl -e" show possibly useful information after push failed?

I've also seen it on my local build machine, with the Docker registry running in Docker.
Not sure how to debug it, and this is one that I don't care about if the retry mechanism turns out to get us reliable CI builds.

https://github.com/docker/for-linux/issues/711 gives idea this gets fixed in docker 19.03.3.
Our current CI runs use 19.03.2 so we are close to get fixed one, where (hopefully) retry is not needed.
We have no proof yet does retrying improve this case.
Should we wait with this, try to tolerate occasional failures meanwhile and see does the newer docker eliminate the issue?

Do you know how to update Docker in the CI to 19.03.3? That would be the preferable solution.

Do you know how to update Docker in the CI to 19.03.3? That would be the preferable solution.

CI host is Ubuntu 18.04 LTS and gets docker by "apt install -y docker-ce",
so we get what is (latest) in repo if we don't specify some other (older) version.
19.03.3 was released 2019-10-08 so it's likely just too new to be present in repo yet.
BTW, Docker rel.notes mentions the problems we see as this:
"Fix overlay2: busy error on mount when using kernel >= 5.2" (there is also link to docker ticket)
Does our CI host really runs on such new kernel even if our distro is 18.04 LTS?

meanwhile I see more of push errors. Seems more than before (?).
Should we merge this anyway and monitor for further failures.
We can try reverting later after docker new version arrives.

Olev Kartau<EMAIL_ADDRESS>writes:

Do you know how to update Docker in the CI to 19.03.3? That would be the preferable solution.

CI host is Ubuntu 18.04 LTS and gets docker by "apt install -y
docker-ce",

Each time the machine boots?

Does our CI host really runs on such new kernel even if our distro is
18.04 LTS?

I don't know - check with Chuy please.

I'm fine with merging it and reverting later.

Does our CI host really runs on such new kernel

I added uname -a in Jenkinsfile and CI host appears to run this:
ubuntu-jenkins-worker6826f0 5.0.0-1018-azure #19~18.04.1-Ubuntu SMP
so it is relatively new, 5.0 kernel but still older than 5.2 what Docker "busy fix" mentions.

Each time the machine boots?

yes, this host does not have life beyond build, it is dynamically created from empty state for a CI job.

is it possible this change by chance changed the make semantics?
noticed today that 'make push-images' does not implicitly build any more, I have to 'make build-images' separately. There has been no other changes close to make rules recently, right?
Does make push-images still build for you, have I misunderstood something.

Commenting out $(PUSH_IMAGE_DEP) was a mistake. I used that during debugging, shouldn't have been committed.

Fix is in https://github.com/intel/pmem-csi/pull/436


/docs/configuration/Ch-Configuration.rst is in need of major update

Documentation of current config service and config organization documentation needs major redo/update

closed by #1199


Minimize the permissions of Environment Team Role

Describe the bug
Attached is the review of enhancements (please check column status) and anything with NeedsFixing is top priority and has to be addressed . CleanupEnhancements are very important as access to unused resources is not good to have .
followed by Good Enhancement. Please let me know if questions. The items marked review are candidates that can be explored for further clean up. What would be good is if you can add version on which issue will be fixed against each item and that will give us clear idea of what to expect.
How to Reproduce
*P.S. Please do not attach files as it's considered a security risk. Add code snippets directly in the message body as much as possible.*

Expected behavior
Permissions for the team role must be minimally permissive.
Your project
No response
Screenshots
IAMRolesandPermissionAnalysis-EnvTeamRole.xlsx
OS
All
Python version
3.10
AWS data.all version
v1.3,v1.4,v1.5
Additional context
Having least privilege is always good. and we request you to minimize the permissions for pivot role so that it follows the principles of least privilege.

This item is duplicated: #462


[QPE-290] Null values selection prevention

Jira ticket link
https://tretton37.atlassian.net/secure/RapidBoard.jspa?rapidView=33&projectKey=QPE&modal=detail&selectedIssue=QPE-290

i added Dim1IsNull and Dim2IsNull properties to the Data array,, then made a check on both of them in order to prevent the null selection.
It might be that one of these properties in enough,, a decision left to you @kristofferlind


Update Top 10 Filter Tab for French website

French Tabs should be similar to the English Tabs.
French Website:

English Website:

I believe the first picture belongs to the production website. please check the test website through this address : https://canbewell-2022-test.web.app/#
I see the same theme for both French and English.


Extend navigation profiles in Mx7.4

Because of changes in navigation profiles in Mendix 7.4 we need to update some related docs.

Hi Roman, please take a minute to sign the CLA  (even though you are Mendix internal).
Thanks.

This should only be published upon release of 7.4.0, correct?

Build passed.

Hi Adam. Yes, this should be published together with 7.4.0 release.


Add possibility to switch from back to front-facing camera

Is your feature request related to a problem? Please describe.
In some use cases when used with a tablet on a stand, the front-facing camera barcode scan will be great.
Describe the solution you'd like
Having an extra parameter at initialization time and/or button in UI to switch.
Describe alternatives you've considered
N/A

This is the previous library for scanning barcode which I used for flutter. Unfortunately, it got discontinued, and can no longer compiles for ios, so I had to ditch it. Would be great if it can be some sort of reference to develop this feature in future update.
https://pub.dev/packages/barcode_scan
https://github.com/mintware-de/flutter_barcode_reader

This is the previous library for scanning barcode which I used for flutter. Unfortunately, it got discontinued, and can no longer compiles for ios, so I had to ditch it. Would be great if it can be some sort of reference to develop this feature in future update.
https://pub.dev/packages/barcode_scan
https://github.com/mintware-de/flutter_barcode_reader

Hello, is it possible now to flip the camera?

This should be fixed by this PR: https://github.com/AmolGangadhare/flutter_barcode_scanner/pull/184.
For anyone in need of a temporary solution while waiting for the above PR to be merged, setup flutter_barcode_scanner like this in your pubspec.yaml:
flutter_barcode_scanner:
    git:
      url: git@github.com:izzyaf/flutter_barcode_scanner.git
      ref: master

how to hide camera switching option?


Error on f7-page components

Error in JS console after latest changes to master:

[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "name"
(found in component )

But as error message states it looks like you are trying to change page prop directly from child component. You should avoid it

@scriptPilot can we close it or is it really an issue?

@nolimits4web - Seems fine now, I'll close the incident.


MRIQC T1w Classifier

I have MRIQC Outputs of approximately 1000 T1w images. I would like to produce the default T1w classifier using the mriqc_clf command. Since I'm working with singularity on a HPC server I use the following command after loading the singularity module:
singularity exec -c -B $SCRATCH:/mnt/ $SCRATCH/.scinet/mriqc-sandbox.img mriqc_clf --load-classifier -X /mnt/MRIQC/Study_QC/T1w.csv

with the exception of the following minor warning there are no errors.
Fontconfig warning: ignoring C.UTF-8: not a valid language tag

No new output is generated after the command is run and no new additional column is created in the T1w.csv. I'm not sure what has gone wrong here?

Hi @n2parker, you should be seeing one column added into the T1w.csv file. Could you share that T1w.csv file with me so that I try to reproduce?

Hi,
sure here is the file.
Nadine Parker, M.Sc.
Graduate Student, Paus Lab
Rotman Research Institute, Baycrest
Institute of Medical Science
University of Toronto
Email<EMAIL_ADDRESS>Alternate email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER> ext: 3130 <%28416%29%20785-2500%20ext%3A%203425>
On 12 March 2018 at 17:11, Oscar Esteban<EMAIL_ADDRESS>wrote:

Hi @n2parker https://github.com/n2parker, you should be seeing one
column added into the T1w.csv file. Could you share that T1w.csv file with
me so that I try to reproduce?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/mriqc/issues/699#issuecomment-372463973,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR0KdMiiZILnMio0GZ_hhwEGMWx6WVOoks5tduSEgaJpZM4SaNHZ
.

Hi, the attachment seems to have gotten lost from the reply.
Also, I am wondering if you were using an outdated version of MRIQC, in which you would need to use the -o flag to indicate where to store the predictions. Could you try with latest?

I did try the -o flag and it wasn't recognized.
I will resend the file.

Nadine Parker, M.Sc.
Graduate Student, Paus Lab
Rotman Research Institute, Baycrest
Institute of Medical Science
University of Toronto
Email<EMAIL_ADDRESS>Alternate email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER> ext: 3130 <%28416%29%20785-2500%20ext%3A%203425>
On 12 March 2018 at 18:48, Oscar Esteban<EMAIL_ADDRESS>wrote:

Hi, the attachment seems to have gotten lost from the reply.
Also, I am wondering if you were using an outdated version of MRIQC, in
which you would need to use the -o flag to indicate where to store the
predictions. Could you try with latest?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/mriqc/issues/699#issuecomment-372488235,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR0KdGvHrleyfiGXdWI1yZmd45KX_lhLks5tdvtBgaJpZM4SaNHZ
.

I'm afraid that github does not accept attachments via email :(. Could you write directly to my email<EMAIL_ADDRESS>

Hi,
any luck using the classifier with the file I sent?

Hi @n2parker and @oesteban,
I ran into a similar issue using mriqc with singularity on the same HPC server. Like @n2parker, I received no warnings or errors when running mriqc_clf (exit status is 0), and the T1w.csv is not modified.
Replicating the original issue
The command I ran is below. Note that:

$HOME on the HPC server I work with is readable but not writeable for jobs run on compute nodes. As such, I send -H $SCRATCH/sing_home to assign a writeable $HOME for singularity containers.
Singularity imports the environment when running docker containers. To avoid using the environment python, I unset PYTHONPATH to force singularity to use the container's python.

$ PYTHONPATH="" singularity exec \
-H $SCRATCH/sing_home \
-B $SCRATCH/BIDS/mriqc_clf/CN_BIDS_output:/output \
$HOME/BIDS_apps/mriqc/poldracklab_mriqc_0.11.0-2018-06-05-b7b338730c42.img \
mriqc_clf --load-classifier \
-X /output/T1w.csv \

To check whether T1w.csv was modified, I ran ls -l $SCRATCH/BIDS/mriqc_clf/CN_BIDS_output/T1w.csv before and after singularity exec as above. The file modification times are not altered, and no new columns are added to T1w.csv. Additionally, echo $? (the most recent exit code) returns 0 after running singularity exec.
As mentioned by @oesteban above, I tried the -o flag, but as reported by @n2parker, it was not recognized. I suspect this is because I'm using mriqc 0.11.0 where -o is not supported.
Further troubleshooting
I re-ran the command with mriqc_clf -v to increase verbosity. The output with -v states:
> 2018-07-05 18:09:40,840 mriqc.classifier:INFO Results saved as /scratch/a/agraff/channa13/sing_home/mclf_run-20180705-180940*

Navigating to $SCRATCH/sing_home, I found the file mclf_run-20180705-180940_data-unseen_pred.csv. I then ran:
$ cat /scratch/a/agraff/channa13/sing_home/mclf_run-20180705-180940_data-unseen_pred.csv | head -n 5
> subject_id,prob_y,pred_y
002S0295,0.147785410865424,0
002S0413,0.3250233296316222,0
002S1261,0.2381351524431868,0
002S1280,0.308822544009952,0

The .csv contains 3 columns: subject_id, prob_y, and pred_y. The subject_id values correspond with the subject IDs from my BIDS input folder, while prob_y values seem to be propensity scores(?), and pred_y values seem to be the classifier's rating (i.e. 0 or 1).
Remaining issues
Based on the comment from @oesteban here, it seems like the expected behaviour of mriqc_clf is to add values in pred_y from mclf_run-*_data_unseen_pred.csv to the respective subject_id row in T1w.csv. Can someone from Poldrack Lab please confirm whether this is the case?
If the pred_y values in mclf_run-*_data-unseen_pred.csv are the correct values, one approach to resolution might be...

If $HOME it is not writeable, then mriqc should return an error and stop.
If $HOME is writeable, then mriqc should direct mriqc_clf to make mclf_run-*_data-unseen_pred.csv and properly append the column pred_y to T1w.csv.

Note that a new mclf_run-*_data-unseen_pred.csv is created in $HOME each time singularity exec is run. This file is not deleted when the singularity command exits. As such, using the same $HOME directory with mriqc_clf may get confusing when running multiple datasets (the .csv files are distinguished by timestamp only).

Hi @n2parker, @nathankchan.
I can confirm all that @nathankchan described, and add some details:

the mclf_run-*_data-unseen_pred.csv files are created in the working directory (not $HOME)
my comment here is wrong. The predictions will not be added to the original T1w.csv file. Sorry for the confusion.
the pred_y column are the prediction scores (threshold = 0.5) of the random forests.

I'll work in making the interface of the classifier more intuitive. I agree it is quite a mess at this moment. Sorry about that.


All PAL filesystem tests fail

Hi,
PAL File System tests fail on all mbedOS running devices after changes introduced several days ago into sd-driver repository.
https://jenkins-internal.mbed.com/view/PAL/job/PAL-Tests-Pipeline-Nightly/306/testReport/
was there some basic change in the init behavior?
cc @geky @simonqhughes

Yes.. init behavior was changed and instead polling, timeouts for command was implemented.
@avolinski - May i know which SD card is used for PAL ?
If possible can you send me SD Command trace for any failing test by enabling
'SD_DBG'  and 'SD_CMD_TRACE' flag in SDBlockDevice.cpp.

sd-logError.txt
@deepikabhavnani please see attched file
im using transcend 8 gb micro sd hc class 10

@galc @JanneKiiskila

Are you calling the sd.init() in the pal tests?

@JanneKiiskila actually no...
following this https://github.com/ARMmbed/sd-driver/blob/master/TESTS/filesystem/basic/basic.cpp example i have not seen any use of it...
i have added the function but the errors persist, send a new log?(the errors are the same...)

Well, if you did do it - and caught an error there, you could immediately stop all file tests.

sd.init returns 0

@deepikabhavnani is there any update with this?
this actually blocks all our file system tests

@netanelgonen  - you could try the PR; https://github.com/ARMmbed/sd-driver/pull/41

@netanelgonen - Did you get the chance to test PAL test with #41 fix?
After above fix, I have seen SPI block read failures with few SD cards, and fixing that might take sometime in mbed-os. https://github.com/ARMmbed/mbed-os/pull/4744
Quick temporary solution to that would be to use SPI byte read.

@deepikabhavnani #41 did not solve the problem

Does it still fail in initialisation?

Is this the root cause for the issue now? https://github.com/ARMmbed/mbed-os/issues/4743
Or is it something else?

Can we get some updates on this? @netanelgonen  - can you post latest traces?

@JanneKiiskila unfortunately the PR is not solving the issue and the traces are them same..
if there is a need for the new trace i will upload them later today.

Will it be possible to share SPI bus trace?

please view the attched file
sdlog.txt

Initialisation is successful from log, do you get the return (0 -success) from init? Not sure why re-init is done?
Card CSD in this log was success and got 8GB card size

the init is successful but we cannot read/write from the sd card...

we encountering inconsistent behavior with the new sd-driver,
sometime all test fails, sometimes all pass, and sometimes half pass and half fail...
it may be timing issues...
this is a link to our jenkins job:
https://jenkins-internal.mbed.com/view/PAL/job/PAL-Tests-Pipeline-Nightly/317/testReport/
the file system tests start failing after your update.
in meanwhile do you have a tag before the update that we can use?

PAL failures are with K64F devices, which is related to https://github.com/ARMmbed/mbed-os/issues/4743, SPI block reads fail or K64F.
For older versions and tag please refer to readme, or use  'git tag -n' command in driver folder

one small note, originally pal failures were not only with k64f devices, but with odin boards too.
so failures are not bound to one platform
https://jenkins-internal.mbed.com/view/PAL/job/PAL-Tests-Pipeline-Nightly/306/testReport/

@avolinski @netanelgonen @JanneKiiskila - I am closing this issue. If PAL failures related to SD device are found, please open new issue.


Remove VSash

The VSash's only purpose was to keep proportions on layout, which the Splitview does by default. This PR removes VSash and adopts the Splitview in the two places.
@sandy081 Please review. The side-by-side comparison editor is currently broken in master, @bpasero is fixing it. Once he does, we can merge master here and you can give it a try.

@joaomoreno @sandy081 pushed a fix (via https://github.com/Microsoft/vscode/commit/98d7de04d65bdaf67bb51ccd10dc1c9f7cb461ea)

@joaomoreno In Settings editor, Right hand side editor is not taking the complete width

@sandy081 Give it another go.

@joaomoreno Only thing missing is reset on double click. Otherwise LGTM

@sandy081 Great catch!


Install tekton-pipeline 0.17.0 release failed because of InternalError

Expected Behavior
Install tekton-pipeline 0.17.0 release successfully
Actual Behavior
When I apply tekton-pipeline 0.17.0 release use below command:
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml

It failed and reported below error:
service/tekton-pipelines-webhook created
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found
Error from server (InternalError): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.17.0/release.yaml": Internal error occurred: failed calling webhook "config.webhook.pipeline.tekton.dev": Post https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=30s: service "tekton-pipelines-webhook" not found

Then I check the status and logs of tekton-pipelines-webhook:
xiangxiulis-MacBook-Pro:spark xiangxiuli$ k get pod -n tekton-pipelines
NAME                                          READY   STATUS              RESTARTS   AGE
tekton-pipelines-controller-6f6988757-gvjw6   0/1     ContainerCreating   0          3m53s
tekton-pipelines-webhook-8b4798587-ch7vn      0/1     CrashLoopBackOff    5          3m51s
xiangxiulis-MacBook-Pro:spark xiangxiuli$ k logs tekton-pipelines-webhook-8b4798587-ch7vn -n tekton-pipelines --all-containers
2020/10/12 05:46:19 maxprocs: Leaving GOMAXPROCS=4: CPU quota undefined
2020/10/12 05:46:19 Registering 2 clients
2020/10/12 05:46:19 Registering 3 informer factories
2020/10/12 05:46:19 Registering 4 informers
2020/10/12 05:46:19 Registering 5 controllers
{"level":"info","ts":"2020-10-12T05:46:19.254Z","caller":"logging/config.go:110","msg":"Successfully created the logger."}
{"level":"info","ts":"2020-10-12T05:46:19.254Z","caller":"logging/config.go:111","msg":"Logging level set to info"}
{"level":"info","ts":"2020-10-12T05:46:19.254Z","logger":"webhook","caller":"profiling/server.go:59","msg":"Profiling enabled: false","commit":"3e90648"}
{"level":"info","ts":"2020-10-12T05:46:19.268Z","logger":"webhook","caller":"leaderelection/context.go:46","msg":"Running with Standard leader election","commit":"3e90648"}
{"level":"info","ts":"2020-10-12T05:46:19.293Z","logger":"webhook","caller":"sharedmain/main.go:228","msg":"Starting configuration manager...","commit":"3e90648"}
{"level":"fatal","ts":"2020-10-12T05:46:19.393Z","logger":"webhook","caller":"sharedmain/main.go:230","msg":"Failed to start configuration manager","commit":"3e90648","error":"configmap \"config-defaults\" not found","stacktrace":"github.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain.MainWithConfig\n\tgithub.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain/main.go:230\nmain.main\n\tgithub.com/tektoncd/pipeline/cmd/webhook/main.go:216\nruntime.main\n\truntime/proc.go:203"}

Not sure what's wrong with it? Could you please help me about this? Thanks in advance!
BTW, I am installing tekton-pipeline in 1.16.9 kubernetes cluster, and the version of kubectl is:
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.1", GitCommit:"d224476cd0730baca2b6e357d144171ed74192d6", GitTreeState:"clean", BuildDate:"2020-01-15T15:50:38Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.15+IKS", GitCommit:"a7ace239946d71c9305593eacf74b9a9efa25e3b", GitTreeState:"clean", BuildDate:"2020-09-09T00:11:53Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Steps to Reproduce the Problem

Additional Info

Kubernetes version:
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.1", GitCommit:"d224476cd0730baca2b6e357d144171ed74192d6", GitTreeState:"clean", BuildDate:"2020-01-15T15:50:38Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"darwin/amd64"}

Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.15+IKS", GitCommit:"a7ace239946d71c9305593eacf74b9a9efa25e3b", GitTreeState:"clean", BuildDate:"2020-09-09T00:11:53Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

- Tekton Pipeline version:

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

<!-- Any other additional information -->

The error seems to be with the configmap config-defaults not being present:
"msg":"Failed to start configuration manager","commit":"3e90648","error":"configmap \"config-defaults\" not found"

Any error during the apply phase on the configmap ?

@vdemeester No other errors about you mentioned configmap, actually, I checked and found I didn't have this configmap.

@vdemeester No other errors about you mentioned configmap, actually, I checked and found I didn't have this configmap.

The release yaml should create this configmap (hence why I was asking for an error).

@vdemeester Then seem like this release didn't create it for me. I have proposed all errors.

I found the root cause. Because I didn't delete previous validatingwebhookconfigurations and mutatingwebhookconfigurations for tekton-webhook. I delete them, tekton installation is successful.

@xiujuan95 let me close this then. Please comment if there is anything to do still.


[New blog]: Refactor your C# code with collection expressions

Proposed topic or title
Refactor your code using alias any type
Location in table of contents.
devblog.microsoft.com/dotnet
Reason for the article
Help out DevDiv.
Article abstract
https://devblogs.microsoft.com/dotnet/refactor-your-code-using-alias-any-type/
Relevant searches
No response

Closed by https://devblogs.microsoft.com/dotnet/refactor-your-code-using-alias-any-type/


Manually entering entry with up to 5s duration is not synced to web

If a task is created manually in the Toggl Desktop app of 1s, 2s, 3s, 4s or
5s, it will not sync to the Toggl Web Timer.
If I create a task manually with a duration of 6 seconds, it will
immediately appear in the Toggl Web Timer.
steps to replicate:

Toggl Desktop app: Type in new task name.
This exact name may be part of the problem.
Click the 00:00:00 to show the fly-out window
In the fly-out, set project and change duration to 1 second
Close fly-out
The task will appear in the Toggl Desktop app, but not on the web-based
Toggl timer
If I sync the Toggl Desktop app, it doesn't make a difference
If I log in / out of either service, it doesn't make a difference
If I Clear Cache in the Toggl Desktop app, then log back in, the task is
gone

More info in case 113224

It's by design :) I'll remove the "time entry too small" check.


Fix escape-keys by preserving input if invalid

Currently, using a custom detach key with an invalid sequence, eats a part of the sequence, making it weird and difficult to enter some key sequence 🐯.
This fixes by keeping the input read when trying to see if it's the key sequence or not, and "writing" then is the key sequence is not the right one, preserving the initial input 🐹.
$ docker run --detach-keys=a,b,c -it busybox /bin/sh
/ #
# press a and a on the keyboard
/ # aa
/ #
# press a, b and d
/ # abd
# press a, b and c
# escape \o/

Fixes #21769
/cc @thaJeztah @cpuguy83  @LK4D4 @runcom @calavera
🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

+1 see: https://github.com/docker/docker/pull/15666#issuecomment-165482070

Heh, it works. Bit of a weird side-effect is that typing a twice, will not output the first a, until the second a is pressed. Guess that's ok, because using a,b,c as detach-key is not really a smart choice

any chance of getting some testcases?

@duglin I'm thinking of it, but I'm not sure how still... :sweat:

Perhaps you can add the "test" case to the commit message at least

@vdemeester you may get some inspiration from the tests that use a tty - e.g. TestRunAttachDetach

@duglin oh you are right. Remembered the way we pty to send input and detach the container but I did not remembered if we check the output content or not… and it seems we do \o/. Test incoming :angel:.

Updated with tests :wink:

LGTM
ping @duglin

LGTM


Add guide for generating graphQL schema

I have spent quite some time figuring out how to generate graphql schema, which turned out to be quite simple but not obvious. Turns out you need to use GET request and include prismic-ref header.
You can achieve this with this tool
https://github.com/dotansimha/graphql-code-generator
and add parameters in the yaml config:

I think its this is quite an essential guide for anyone who wants to have proper IDE experience or works with Typescript.

Hey @timuric, I'm sorry we failed to give your issue attention back then. Thanks for sharing your knowledge on that. I forwarded your issue to our documentation team! Have a great week!


docs: Added snap version directory for global remotes

This pull request didn't trigger Jenkins as its author isn't in the allow list.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Documentation preview available at: https://linuxcontainers.org/lxd/docs/pr.10935/

@MrDaGree please can you sign off your commits?

Wonderful! Thank you for letting me know where it was to then document it


Staedy

[Enter feedback here]

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

ID: 0f0990fc-9834-bde3-5e06-071c75fa89a5
Version Independent ID: 96f5df37-aa95-443d-2500-37665179ce89
Content: Quickstart: Create a virtual network - Azure portal - Azure Virtual Network
Content Source: articles/virtual-network/quick-create-portal.md
Service: virtual-network
GitHub Login: @KumudD
Microsoft Alias: kumud

@staedy , could you please provide details on this feedback submission for us to review/investigate further? For now, the feedback is blank without any details.

@staedy Any update?

@staedy , could you please provide details on this feedback submission for us to review/investigate further? For now, the feedback is blank without any details.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Adding the baysor command for preprocessing allen smfish dataset

Added a markdown file that creates the preprocessed dataset.

Hi @VPetukhov ,
Is it possible to obtain the source or instruction to obtain the dapi_merged.tiff used here /home/vpetukhov/data/spatal/SpaceJam2Full/allen_sm_fish/dapi_merged.tiff


[Proposal] Converters

Feature Request:
From the thread here it seems like people have some converters that they use all the time. Let's come up with some of the most basic/most wanted and get them in.
From the thread:

InvertBoolConverter
EmptyNullToBoolConverter
DateTime Converters
CollectionToBoolConverter
UnitToBool

(More) examples: https://github.com/DIPSAS/DIPS.Xamarin.UI/tree/master/src/DIPS.Xamarin.UI/Converters/ValueConverters

I like this proposal... and if I can be so bold, I think Pedro Lamas could be a prime candidate to do a big PR for a lot of them.
His Cimbalino toolkit ( https://github.com/Cimbalino/Cimbalino-Toolkit/tree/master/src/Cimbalino.Toolkit (WP8)/Converters ) contains a huge list that were very relevant for Windows Phone and UWP.
I know he was looking at Xamarin when it came into Microsoft, but never got around it... but much of the converters are platform agnostic.

I think that converters should implement IMarkupExtension to make them more accessible from XAML and the consumer would not have to add it to their resources for every page. It also enables you to pass properties, like a bool Inverted to invert it.
Here is a couple of converters we are using in our apps :
https://github.com/DIPSAS/DIPS.Xamarin.UI/wiki/Converters

OK, I think we got a lot of these in now. From here on out let's see what people come up with before we stuff more in.


[BUG] Duplicate value in RadioGroup widget.

Description
Duplicate objects are allowed in RadioGroup Widget. No concept of Primary Key either.
Steps to reproduce the behaviour:

Add RadioGroup Widget.
Duplicate the default value using JSON object and save.
Selection of all values are allowed.

Important Details

Version: Cloud
OS: MacOs 10.14.6
Browser: Firefox 80.0.1 (64-bit).

Let's add a unique validator for Radio Widget

Closing in favour of #655 as they share the same validator


Discretized Image Tokens

Hello, great paper! I'm curious as to whether the discretized image tokens from VQGAN led to any significant performance gains.  Any ideas?

We are not sure about this since we haven't throughly tested this option yet.


Community curated list of preferred servers?

The philosophy of this plugin is to have as much as possible to work automatically without configuration and only correct when few misbehaving instances. Based on discussion in https://github.com/dundalek/lazy-lsp.nvim/issues/17 people might prefer to sacrifice some lsps if it means being exposed to less potential issues.
Should we curate a list of recommended servers, e.g. pick one server when there are multiple alternatives or exclude known misbehaving ones to reduce number of issues people can run into?
For example I recall nvim-treesitter having ensure_installed that could take value "all" or "maintained" to restrict available grammars. Would it make sense to have something similar? We could have by default a "recommended" selection while providing the option to opt-in to all servers (which is the current default).

A possible next step would be to auto-generate list of servers similarly to servers.md but grouped by the filetype that would provide a better overview of which ones can be chosen.

An approach would be to have like a priority queue of LSPs for each ft. If one fails for some reason, try next available one.
Could also cache the LSP that worked and start with that LSP next time.
###Pros:

Only one LSP will load making stuff behave better out of the box, such as formatting or double inlay hints.
Not a lot of work initially, and we could have community feedback on the priority queues.
A more sound approach than just launching all the LSPs
Detecting and caching the LSP per ft might let users build up a database of LSPs that works well which in turn would make it easier to fine-tune lspconfig if the user requires that without sacrificing user friendliness out of box.
Anything else?
###Cons:
Possiblity of a slower startup experience if many LSPs fails before one works
Users might not agree with the priority of the LSPs
Anything else?

I've created a script to generate a list of filetypes associated with multiple servers to serve as candidates for curation.
I would be interested for people to share (we already have some examples):

their configured values for excluded_servers and preferred_servers options.
comments like I am Foo developer and everyone uses Y-lsp over X-lsp, because X is deprecated

I'm thinking next step could be to add the recommended options as a starting point to the configuration example in the README.

Just opened a typescript file and was overwhelmed by all those language servers that started up :laughing: . It made me realize that language-servers and formatters are project specific. No community curated list will work for actively developing a project. In some project I want to have specific ones in another project I need others. For example npm vs deno typscript projects. Having all language servers or a list of community generated ones is wrong for projects one actively works on, instead the lsps should be already in scope using tools like nix-shell/flakes/devbox/flox etc .
On the other hand, browsing unknown projects is an important use-case as well. And this case, a community curated list of lsps lazily started in a nix-shell would be great. So one probably wants to start language-servers for out-of-project files on demand: Have a keybinding/commad, which fires up the community curated language-servers for the current file.

Just opened a typescript file and was overwhelmed by all those language servers that started up 😆 .

Yeah, JS/TS is a bit wild by default, but it is also an exception because the ecosystem is so large and diverse.

Having all language servers or a list of community generated ones is wrong for projects one actively works on, instead the lsps should be already in scope using tools like nix-shell/flakes/devbox/flox etc .

This gives me an idea that it would be possible to automatically enable only LSPs that are installed. But on the second thought if that is desired one can just write a for loop in config so there is no need to have a plugin for that.

In conclusion, after running the stats I see these patterns:

modern languages (like Go, Rust, Kotlin, Elixir, Zig) have one official implementation - no issue here
previous generation languages (like Python, Java, PHP, Ruby) have multiple efforts, but over time some get deprecated and will likely also consolidate towards one - we can run multiple ones for redundancy and in the future reduce suggestion
JS/TS is a special category, but suggesting eslint and tsserver should work for majority by default. If not it can be configured based on specific needs.

I've created a curated configuration: https://github.com/dundalek/lazy-lsp.nvim/blob/master/servers.md#curated-servers
The downside is one needs to copy it to their config. I think I would be comfortable by enabling this subset by default.
However, the challenge is then how to expose the options to override these in case someone wants a server that was excluded. And how not to make it confusing how to find out which servers are enabled and which are not.
@zoriya I would be curious if you have any thoughts?

That's a good point, if the default curation is only done using preferred_servers than it is straighforward to override just by merging tables.
The thing I don't like is the duplication since js/ts is spread over 6 filetypes and for example ccls is part of 5 filetypes.

-- Bugged servers
"sqls",
"rome",

BTW these were dropped from nixpkgs, you can remove them for a cleaner config.

I think it is okay to have multiples file types for the same lsp. For the case of ccls, I could want to override the objc lsp while keeping the cpp's lsp to the community curated one.
I do agree that JS cases is weird, but that's just to show how much the JS community is split. I see two ways of handling that:

either by creating a meta filetype that would apply this logic to typescript, javascript, jsx, tsx and all the other variants
or by simply not doing anything special and specifying every js variant as its own entry.

I do think the second one is both simpler to write and simpler to understand, as you do not need to know lazy-lsp does some kind of magic for js.

This gives me an idea that it would be possible to automatically enable only LSPs that are installed. But on the second thought if that is desired one can just write a for loop in config so there is no need to have a plugin for that.

I even implemented this quickly for myself, so that every installed server is automatically picked up. This felt good at first because I was working on my own project, where I know the tooling.
But opening another project sent me into this rabbit hole of deciding which language server to install. And here, the community curated preferences would be awesome.
So somehow I want community curated lsps everywhere except for projects where I explicitly want to make a choice. VSCode has some project-local configs, where they list recommended extensions. Maybe a similar standard for vim makes sense. Or even better an editor-independent standard for defining, lsps, formatters, linters etc for the project.


Fixes Failing test

This PR fixes failing e2e tests inside jobTemplate.cy.ts.

Closing in favor of https://github.com/ansible/ansible-ui/pull/641


vmq_diversity: auth_on_register username/password are "undefined"

https://github.com/erlio/vmq_diversity/issues/5
Already reported the issue in vmq_diversity but looks like it got lost.

Hi, thanks for opening here as well and remind us. The issue hasn't been lost and is still on our radar, but hasn't yet had the priority it deserves. We'll look into it soon, but I can't give any estimates. I apologize for not having acknowledged the issue sooner.

Let's close this issue here, as it's tracked in erlio/vmq_diversity#5


How to trigger an event from angular

How do can I trigger an event in my component like the find (ctlr+f) event?

如何监听F8按钮事件~

ngx-monaco-editor 监听键盘按钮 Monitor keyboard
<ngx-monaco-editor (init)="onEditorInit($event)" ></ngx-monaco-editor>

onEditorInit(editor) {
    editor.addCommand(monaco.KeyCode.F8, () => {
      //回调事件
    })
}


Implement File Check

It would be great to have some kind of quick check of the files prior to the upload. That will make it easier for people

working with other people
working from multiple devices (desktop at office, notebook at home,...)

Since the files always get downloaded temporary on the local drive anyway, it would be not bad to have a check based on the file edit time (if this is accurate enough) to see if a file maybe has been changed in the meantime from another user/device).
This check should probably happen during the save process:

User clicks save
Synapse checks files

If remote file is newer (edit time) as local file (download time)
A warning will popup (giving user opportunity to re-download file from server and re-apply new edits).

If local file is newer (download time) as remote file (edit time)
It will simply overwrite it as usual.

What do you think? Would that be possible maybe?
Btw. Great work so far :)

Hi Joe.
The function, such as SQL transaction?
I confused little bit. How I know the file opened by others?
However that we can, if build server in the synapse. like a p2p.
but I think, that is so different.

Hello,
I'm not aware about SQL Transactions actually. I think the edit/download time of a file would be enough tough? At least this shows if a file has been changed or not. And it actually doesn't matter if it has been changed by someone else or by the same user just from another device, as far as I'm concerned. What do you think?

thx I understood it.
first, I heared about the download time sometime.
however I could not to reproduced that.
I need more investigate to that.
Edit file by multi user, sure It is possible, but that need different means, and there is several ways.
most simple way,that need boot other server for management to the group, that will notice to the synapse some information, the user's online status, which editing to the file and etc.
parhups, It is there same server of the FTP.
i.e) we must install api server to the web port for the management.

why not just checking the hash of the uploaded file ? it's can be the first step, like that, we will know if the file change between the download and the upload.
Extension awesome by the way


Usefull feedback?

Description of Problem or Question
Some observations to the reviews made by players of the scenarios we make: 1) Some users simply don't comment on anything just vote the stage. 2) others simply close the app without voting 3) Then there are those that leave interesting comments that allow developers to improve the scenarios. In my case I paid close attention to the comments and made several changes, still, i have deleted the english translation due to negative comments on the traslation.
what are your opinions on feedback?
Valkyrie Version
last version
Attach Save, Quest or Scenario
Log File:
%LOCALAPPDATA%Low\NA\Valkyrie\output_log.txt
Saves:
%appdata%/Valkyrie/MoM/Save
%appdata%/Valkyrie/D2E/Save
Quest:
%appdata%/Valkyrie/D2E/Editor
Scenario:
%appdata%/Valkyrie/MoM/Editor

I like the feedback even if it's just a score. Of course you get extreme cases but having a score next to scenarios proving that some are ver good only strengthens the credibility of Valkyrie.

The score is both useful and frustrating, especially if you see that your scenario typically scores between 7-9 and then someone just scores a 1 without any comment. You know that that is just some one trolling or undermining your scenario. On the long run, the impact of that 'trolling score' on the average scenario score is not so much.
That is why I think it is good to show a score of a new scenario only after it has reached a certain number of plays, so the score average is a better indicator. Alternatively, an algorithm calculating the score could also filter out outliers.
The score is just a score, and only an indicator of what type of scenarios are more appreciated then others. As a scenario writer you can use this to your advantage and adjust your style, story or scenario quality. But don't expect you can please all.
The written feedback works basically the same. Reported bugs, misspellings or obvious flaws in the scenario are very useful to improve the scenario.
Other comments can be very motivating or frustrating or even contradicting. Like : "too simple because clues where to abundant and obvious" vs "we guessed the solution because there where no clues".
Also here you have to take your own conclusion as a scenario writer. Leave the scenario "as-is" because it is "as intended" or adjust the scenario in line with the feedback.
Last weekend I played a SoA scenario and a HJ scenario in the ffg app. Both times the scenarios screwed up when it tried to tap into PoS resources. Unfortunately, the ffg app does not have the possibility for feedback, missing the chance for quick feedback and improvement.
Luckily the Valkyrie app has the feedback option. And because of that, it helped me to improve my scenario (after getting over the frustration of some of the feedback ;-)  ).
So, I consider the feedback option of Valkyrie a strength.

Hiding scored until it hits say 10 plays might help prevent early bad scorings.
Another option we have is to purge all scores for a scenario. For example if a low scored scenario has a major overhaul I could purge the previous scores (I did this with Shadow Rune and Arkham Crimewaves platters).

scoring a one to a scenario that has to say an average of 5 to 8 or more means usually a flamer with no respect at all to the work of the developer.

The ratings should be 1-5 really it creates less wild deviations on high and low scoring. We are scoring 1-10 and then halving it at present so have larger disparities.

I'll close this, but feel free to continue the discussion while it's closed.


Android Reconnection issues

I'm using only the Android part of the library code.
I have an app that uses "known devices" only, so every device has been explicitly paired to the phone in the Android OS Bluetooth UI.
If I have 2 devices, I can programmatically switch between them. That does work. But if I repeatedly switch between the devices, ultimately both of the devices will end up being connected to the phone. This is not right. If I call Disconnect(), the device should disconnect cleanly. If I request a connection, the device I request to be connected should be the only one connected. The code around this is quite complex, but does work. The issue seems to be that the Android Device implementation is not right.
What I discovered is that every time public void Update(BluetoothDevice nativeDevice, BluetoothGatt gatt) is called in the Device implementation, a new gatt is passed in. The issue seems to be that the existing _gatt is overwritten with the incoming value, but that the old value is never dealt with. That BluetoothGatt might be a new instance of the Gatt, and the old one might still be left open. This leads to the connectivity issues.
Steps to reproduce

Connect Device 1, wait 10 seconds
Disconnect Device 1
Connect Device 2, wait 10 seconds
Disconnect Device 2
Repeat steps 1 - 4, for 3 - 4 iterations.

Expected behavior
Tell us what should happen
Actual behavior
By the third or fourth iteration, you will end up with both devices being connected. If you disconnect one of the devices, the disconnect will happen in such a way that you cannot tell which device disconnected.
Configuration
Version of the Plugin: e.g. 1.0.0 / 1.0.1-alpha3
Platform: Android 10
Device: Google Pixel3a, Samsung A50, Samsung S10
The solution I found was this:
In Device.cs under the Android specific implementation:
Add in a queue to store the gatt instances:
Queue<BluetoothGatt> gatts = new Queue<BluetoothGatt>();
In the Update(...):
        public void Update(BluetoothDevice nativeDevice, BluetoothGatt gatt)
        {
            gatts.Enqueue(gatt); // keep track of all the gatts in play

            _connectCancellationTokenRegistration.Dispose();
            _connectCancellationTokenRegistration = new CancellationTokenRegistration();

            BluetoothDevice = nativeDevice;
            _gatt = gatt;

            Id = ParseDeviceId();
            Name = BluetoothDevice.Name;
        }

In CloseGatt():
        public void CloseGatt()
        {
            _gatt?.Close();
            _gatt = null;

            while (gatts.Count > 0)
            {
                var tgatt = gatts.Dequeue();
                if (tgatt!= null)
                {
                    try
                    {
                        tgatt.Disconnect();
                        tgatt.Close();
                    }
                    catch (Exception ex)
                    {
                        Trace.Message("[Error]: Can't disconnect {0}. Gatt is null.", Name);
                    }
                }
            }

            ClearServices();
        }

Doing this, we will see multiple entries, some of which are null, but more than one will still be active. Calling Disconnect() and Close() on them will correctly close the connection and return the adapter to a disconnected state.

Hi @memsom,
I'm the friendly issue checker.
Thanks for using the issue template :star2:
I appreciate it very much. I'm sure, the maintainers of this repository will answer, soon.


Mistyped urls can cause a stack trace

See original issue on GitLab
In GitLab by [Gitlab user @coldtom] on Jul 2, 2018, 15:28
Background
If one doesn't enter a valid url in a .bst file and try to fetch it, urllib raises a ValueError which doesn't get handled, causing an ugly stack trace. E.g:
Failure Summary
  base/icu.bst:
    [00:00:00][a31d0083][fetch:base/icu.bst                  ] BUG     Fetch

        An unhandled exception occured:

        Traceback (most recent call last):
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/job.py", line 320, in _child_action
            result = self._action_cb(element)
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/fetchqueue.py", line 44, in process
            source._fetch()
          File "/home/thomascoldrick/buildstream/buildstream/source.py", line 378, in _fetch
            self.fetch()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 90, in fetch
            sha256, _ = self._ensure_mirror()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 100, in _ensure_mirror
            request = urllib.request.Request(self.url)
          File "/usr/lib/python3.5/urllib/request.py", line 269, in __init__
            self.full_url = url
          File "/usr/lib/python3.5/urllib/request.py", line 295, in full_url
            self._parse()
          File "/usr/lib/python3.5/urllib/request.py", line 324, in _parse
            raise ValueError("unknown url type: %r" % self.full_url)
        ValueError: unknown url type: 'https//github.com/winlibs/icu4c'

    [00:00:00][a31d0083][fetch:base/icu.bst                  ] BUG     Fetch

        An unhandled exception occured:

        Traceback (most recent call last):
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/job.py", line 320, in _child_action
            result = self._action_cb(element)
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/fetchqueue.py", line 44, in process
            source._fetch()
          File "/home/thomascoldrick/buildstream/buildstream/source.py", line 378, in _fetch
            self.fetch()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 90, in fetch
            sha256, _ = self._ensure_mirror()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 100, in _ensure_mirror
            request = urllib.request.Request(self.url)
          File "/usr/lib/python3.5/urllib/request.py", line 269, in __init__
            self.full_url = url
          File "/usr/lib/python3.5/urllib/request.py", line 295, in full_url
            self._parse()
          File "/usr/lib/python3.5/urllib/request.py", line 324, in _parse
            raise ValueError("unknown url type: %r" % self.full_url)
        ValueError: unknown url type: 'https//github.com/winlibs/icu4c'

    [00:00:00][a31d0083][fetch:base/icu.bst                  ] BUG     Fetch

        An unhandled exception occured:

        Traceback (most recent call last):
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/job.py", line 320, in _child_action
            result = self._action_cb(element)
          File "/home/thomascoldrick/buildstream/buildstream/_scheduler/fetchqueue.py", line 44, in process
            source._fetch()
          File "/home/thomascoldrick/buildstream/buildstream/source.py", line 378, in _fetch
            self.fetch()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 90, in fetch
            sha256, _ = self._ensure_mirror()
          File "/home/thomascoldrick/buildstream/buildstream/plugins/sources/_downloadablefilesource.py", line 100, in _ensure_mirror
            request = urllib.request.Request(self.url)
          File "/usr/lib/python3.5/urllib/request.py", line 269, in __init__
            self.full_url = url
          File "/usr/lib/python3.5/urllib/request.py", line 295, in full_url
            self._parse()
          File "/usr/lib/python3.5/urllib/request.py", line 324, in _parse
            raise ValueError("unknown url type: %r" % self.full_url)
        ValueError: unknown url type: 'https//github.com/winlibs/icu4c'

However I haven't managed to reproduce it, even without changing anything.

In GitLab by [Gitlab user @aevri] on Oct 24, 2018, 10:30
mentioned in commit 887700ec8bd1d8c055fe460a85dd11358a644ce3

In GitLab by [Gitlab user @aevri] on Oct 24, 2018, 10:31
mentioned in merge request !893

In GitLab by [Gitlab user @aevri] on Oct 24, 2018, 11:03
assigned to [Gitlab user @aevri]

In GitLab by [Gitlab user @aevri] on Oct 25, 2018, 10:11
mentioned in commit 837e0a0e52bb72f4b9b0e233507de30939aaa615

In GitLab by [Gitlab user @aevri] on Oct 25, 2018, 11:17
closed via merge request !893

In GitLab by [Gitlab user @aevri] on Oct 25, 2018, 11:17
mentioned in commit 2d012a2100e31843d72a9f3e4fbf54638fecb09d


spike with working sync

spike with all the fixes for syncing 4844 devnet correctly
Documentation

[ ] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[ ] I thought about adding a changelog entry, and added one if I deemed necessary.

deployed on the 4844 branch here https://github.com/ConsenSys/teku/commit/297d15c45c42ab12a536799e0b795c8b6a6cfa20


GHA: release RPM

tested locally https://github.com/rootfs/kepler/actions/runs/4428285913/jobs/7767139632
The rpm artifact is available https://github.com/rootfs/kepler/releases/tag/v0.4.2

/lgtm

@rootfs , 1st please squash this pr... and do you have tried locally?

@SamYuan1990 the commits are squashed on merge


Why custom Prettier config?

Previous requests around Prettier configuration changes (like #505 ) have been addressed with a general guideline of using Prettier's default configuration.
However, prettierrc.js seems to use a custom configuration, sometimes setting options to their default values (e.g. printWidth) and other times setting options to non-default values (e.g. useTabs).
I was wondering if this was a deliberate decision and what was the rationale behind it?
I tried to look for an entry in docs/decisions or in Discussions but I couldn't find anything concrete.

I should probably write a decision doc about this, but really it's just my own preferences. I like the way the code looks as I have it configured. And in general I prefer to be explicit about the configuration (hence we configure even default values).
I don't know when I'll get around to writing a decision doc about this, but hopefully that's a good enough answer for now.

Thanks for the feedback. 👍
Even if you don't get to write a decision doc, having this issue and answer will already help other folks that have the same question.


Index out of range on DrawStringAnchored

Hello. I'm using this piece of code:
font, _ := truetype.Parse(goregular.TTF)

fontSize := tileSize * 0.09

face := truetype.NewFace(font, &truetype.Options{
	Size: fontSize,
})

cg.SetRGB(1, 1, 1)

cg.SetFontFace(face)

fmt.Println(tile)

cg.DrawStringAnchored(tile.Name, x+2, y+2, 0.0, 1.0)

But, sometimes it just works and somethimes it panic with this:
panic: runtime error: index out of range [-4]

goroutine 55 [running]:
github.com/golang/freetype/truetype.(*GlyphBuf).load(0xc002008300, 0x1002600000000, 0x23d429f1ba8, 0xc000b7c000)
	E:/sdks/golang/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/glyph.go:231 +0xaa5
github.com/golang/freetype/truetype.(*GlyphBuf).Load(0xc002008300, 0xc001c6e1e0, 0x26000005c3, 0x0, 0x23d1d1c07b0, 0xc000b7c000)
	E:/sdks/golang/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/glyph.go:102 +0xcb
github.com/golang/freetype/truetype.(*face).rasterize(0xc002005800, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10)
	E:/sdks/golang/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/face.go:356 +0x92
github.com/golang/freetype/truetype.(*face).Glyph(0xc002005800, 0x864300010080, 0xc000000043, 0x0, 0x3, 0xc000080000, 0x1165570, 0xc000a81b78, 0xcee865, 0x7ffd75b54fd0, ...)
	E:/sdks/golang/pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/truetype/face.go:301 +0x174
github.com/fogleman/gg.(*Context).drawString(0xc000998000, 0xc000986000, 0xc000086450, 0x8, 0x4090080000000000, 0x4080c86000000000)
	E:/sdks/golang/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:710 +0x1fc
github.com/fogleman/gg.(*Context).DrawStringAnchored(0xc000998000, 0xc000086450, 0x8, 0x4090080000000000, 0x4080100000000000, 0x0, 0x3ff0000000000000)
	E:/sdks/golang/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:744 +0x24d
gorfe/themes.drawOverlay(0xc000998000, 0xc000080800, 0x19, 0x19, 0x5, 0x5, 0x100, 0x1, 0xc000086680, 0x7, ...)
	D:/Projects/Musicorum/gorfe/src/themes/grid.go:170 +0x3cb
gorfe/themes.GenerateGridImage.func1(0xc0000ae050, 0x100, 0xc000998000, 0x400, 0x200, 0xc00099a000, 0xe)
	D:/Projects/Musicorum/gorfe/src/themes/grid.go:99 +0x385
created by gorfe/themes.GenerateGridImage
	D:/Projects/Musicorum/gorfe/src/themes/grid.go:82 +0x299

Process finished with exit code 2

I tried a lot but i can't figure out what I'm doing wrong

Ok i found out. I was using goroutines and this was the cause of the problem

Ok i found out. I was using goroutines and this was the cause of the problem

How did you solve this problem, I also encountered the same problem.


EVEREST-304: add namespace permissions

Shall enable https://github.com/percona/percona-everest-backend/pull/129 tests to pass

Codecov Report

Merging #112 (2098940) into main (881f27d) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@           Coverage Diff            @@
##            main    #112      +/-   ##
========================================
- Coverage   5.25%   5.24%   -0.01%
========================================
  Files         10      10
  Lines       2741    2746       +5
========================================
  Hits         144     144
- Misses      2575    2580       +5
  Partials      22      22

Files Changed
Coverage Δ

pkg/install/operators.go
5.07% <0.00%> (-0.04%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Mark every confirmation as mined when a tx is mined

Refactor tests
Minor refactor: get block info from serializer instead of view

Pull Request Test Coverage Report for Build 99

37 of 40 (92.5%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 78.824%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

safe_transaction_history/history/serializers.py
14
15
93.33%

safe_transaction_history/history/tasks.py
13
15
86.67%

Totals

Change from base Build 96:
0.3%

Covered Lines:
737

Relevant Lines:
935

💛  - Coveralls


Improve CSV parsing

We currently parse the CSV files manually, by splitting on newlines and comma's. This means we don't detect or support alternative separators, and might run into trouble if users include newlines in their cell contents.
We should look into using a standard library for our CSV parsing instead to save us the maintenance and any other (unforseen) issues

Since we provide an Excel template, we should probably also accept Excel files.
Since the expectation is that people use the template, I think it should be fine to reject files that don't conform to the template.

This blogpost has a list of five javascript parsing libraries that may be interesting to look at