about ovs-forward

hi @glazychev-art
I deploy  https://github.com/networkservicemesh/deployments-k8s/tree/release/v1.11.1/examples/ovs failed. My k8s environment has three master nodes. I suspect it is my configuration file /var/lib/networkservicemesh/smartnic.config have some problems.
/var/lib/networkservicemesh/smartnic.config is the same on each master node, and each master node has the same network card configuration.
The content is as follows:
physicalFunctions:
  0000:3d:00.0:               # 1. PCI address of SR-IOV capable NIC that we want to use with Forwarder
    pfKernelDriver: i40e # 2. PF kernel driver
    vfKernelDriver: i40evf # 3. VF kernel driver
    capabilities:             # 4. List of capabilities
      - intel
      - 1G
    serviceDomains:           # 5. List of service domains
      - worker.domain

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# ethtool -i ens5
driver: i40e
version: 2.3.2-k
firmware-version: 4.10 0x80001a63 1.2585.0
expansion-rom-version:
bus-info: 0000:3d:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

[root@CNCP-MS-01 webhook-smartvf]# echo 1 > /sys/class/net/ens5/device/sriov_numvfs
[root@CNCP-MS-01 webhook-smartvf]# ls -l /sys/class/net/ens5/device/virtfn0/driver
lrwxrwxrwx 1 root root 0 12月 19 15:11 /sys/class/net/ens5/device/virtfn0/driver -> ../../../../../../bus/pci/drivers/i40evf
[root@CNCP-MS-01 webhook-smartvf]# echo 0 > /sys/class/net/ens5/device/sriov_numvfs

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# lspci | grep net
19:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
3d:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
3d:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
3d:00.2 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
3d:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
5e:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]

pod error:
[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# kubectl describe pods forwarder-ovs-dp8qz -n nsm-system
Name:         forwarder-ovs-dp8qz
Namespace:    nsm-system
Priority:     0
Node:         cncp-ms-01/<IP_ADDRESS>
Start Time:   Tue, 19 Dec 2023 15:28:28 +0800
Labels:       app=forwarder-ovs
              controller-revision-hash=54bd6fd788
              pod-template-generation=1
              spiffe.io/spiffe-id=true
Annotations:  <none>
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
  IP:           2408:8631:c02:ffa2::b
Controlled By:  DaemonSet/forwarder-ovs
Containers:
  forwarder-ovs:
    Container ID:   docker://1166ee7c58184c8c60d69e2631b2dd819bac73b77b49343b80baef61cbe5a0de
    Image:          ghcr.io/networkservicemesh/cmd-forwarder-ovs:v1.11.1
    Image ID:       docker-pullable://ghcr.io/networkservicemesh/cmd-forwarder-ovs@sha256:007ac7b3d9e07b5ab400f338056dfdcd1e65a245725a00aea6549bec8ea26412
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Tue, 19 Dec 2023 15:30:07 +0800
      Finished:     Tue, 19 Dec 2023 15:30:08 +0800
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Tue, 19 Dec 2023 15:29:20 +0800
      Finished:     Tue, 19 Dec 2023 15:29:22 +0800
    Ready:          False
    Restart Count:  4
    Limits:
      memory:  1Gi
    Requests:
      memory:  1Gi
    Environment:
      NSM_NAME:                forwarder-ovs-dp8qz (v1:metadata.name)
      SPIFFE_ENDPOINT_SOCKET:  unix:///run/spire/sockets/agent.sock
      NSM_CONNECT_TO:          unix:///var/lib/networkservicemesh/nsm.io.sock
      NSM_SRIOV_CONFIG_FILE:   /var/lib/networkservicemesh/smartnic.config
      NSM_LOG_LEVEL:           INFO
      NSM_BRIDGE_NAME:         br-nsm
      NSM_TUNNEL_IP:            (v1:status.podIP)
    Mounts:
      /host/dev/vfio from vfio (rw)
      /host/sys/fs/cgroup from cgroup (rw)
      /run/spire/sockets from spire-agent-socket (ro)
      /var/lib/kubelet from kubelet-socket (rw)
      /var/lib/networkservicemesh from nsm (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-8qm98 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  spire-agent-socket:
    Type:          HostPath (bare host directory volume)
    Path:          /run/spire/sockets
    HostPathType:  Directory
  nsm:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/networkservicemesh
    HostPathType:  Directory
  kubelet-socket:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet
    HostPathType:  Directory
  cgroup:
    Type:          HostPath (bare host directory volume)
    Path:          /sys/fs/cgroup
    HostPathType:  Directory
  vfio:
    Type:          HostPath (bare host directory volume)
    Path:          /dev/vfio
    HostPathType:  DirectoryOrCreate
  kube-api-access-8qm98:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                             node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/network-unavailable:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists
                             node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                             node.kubernetes.io/unreachable:NoExecute op=Exists
                             node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
  Type     Reason     Age                 From               Message
  ----     ------     ----                ----               -------
  Normal   Scheduled  108s                default-scheduler  Successfully assigned nsm-system/forwarder-ovs-dp8qz to cncp-ms-01
  Normal   Pulled     10s (x5 over 107s)  kubelet            Container image "ghcr.io/networkservicemesh/cmd-forwarder-ovs:v1.11.1" already present on machine
  Normal   Created    10s (x5 over 106s)  kubelet            Created container forwarder-ovs
  Normal   Started    9s (x5 over 106s)   kubelet            Started container forwarder-ovs
  Warning  BackOff    7s (x7 over 97s)    kubelet            Back-off restarting failed container

Could you tell me how to fix it ,thanks

@ljkiraly
Could you please take a look if you have a chance?

Hi @316953425 ,
Is that a new configuration? Has that worked before in this or another environment?
Could you try without specifying the service domain?
Please attach the forwarder logs to the issue. (kubectl logs forwarder-ovs-dp8qz -n nsm-system)

Hi @316953425 , Is that a new configuration? Has that worked before in this or another environment? Could you try without specifying the service domain? Please attach the forwarder logs to the issue. (kubectl logs forwarder-ovs-dp8qz -n nsm-system)

hi @glazychev-art @ljkiraly

Is that a new configuration? Has that worked before in this or another environment?
No
Could you try without specifying the service domain?
My install step（use v1.11.1 version）:
1、install spire:kubectl apply -k https://github.com/networkservicemesh/deployments-k8s/examples/basic?ref=v1.11.1
2、kubectl apply -f https://raw.githubusercontent.com/networkservicemesh/deployments-k8s/v1.11.1/examples/spire/single_cluster/clusterspiffeid-template.yaml
3、install ovs:https://github.com/networkservicemesh/deployments-k8s/tree/release/v1.11.1/examples/ovs
without specifying the service domain

cat /var/lib/networkservicemesh/smartnic.config

physicalFunctions:
  0000:3d:00.0:
    pfKernelDriver: i40e
    vfKernelDriver: i40evf
    capabilities:
      - intel
      - 1G

Please attach the forwarder logs to the issue. (kubectl logs forwarder-ovs-dp8qz -n nsm-system)

with the service domain
physicalFunctions:
  0000:3d:00.0:
    pfKernelDriver: i40e
    vfKernelDriver: i40evf
    capabilities:
      - intel
      - 1G
    serviceDomains:
      - worker.domain

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# kubectl logs forwarder-ovs-b4jc2 -n nsm-system
I1220 01:58:07.267487   33840 ovs.go:98] Maximum command line arguments set to: 191102
Dec 20 01:58:07.268 [INFO] Setting env variable DLV_LISTEN_FORWARDER to a valid dlv '--listen' value will cause the dlv debugger to execute this binary and listen as directed.
2023/12/20 01:58:07 [INFO]  there are 5 phases which will be executed followed by a success message:
2023/12/20 01:58:07 [INFO]  the phases include:
2023/12/20 01:58:07 [INFO]  1: get config from environment
2023/12/20 01:58:07 [INFO]  2: ensure ovs is running
2023/12/20 01:58:07 [INFO]  3: retrieve spiffe svid
2023/12/20 01:58:07 [INFO]  4: create ovs forwarder network service endpoint
2023/12/20 01:58:07 [INFO]  5: create grpc server and register ovsxconnect
2023/12/20 01:58:07 [INFO]  6: register ovs forwarder network service with the registry
2023/12/20 01:58:07 [INFO]  a final success message with start time duration
2023/12/20 01:58:07 [INFO]  executing phase 1: get config from environment (time since start: 67.346µs)
This application is configured via the environment. The following environment
variables can be used:

KEY                              TYPE                                           DEFAULT                                                                               REQUIRED    DESCRIPTION
NSM_NAME                         String                                         forwarder                                                                                Name of Endpoint
NSM_LABELS                       Comma-separated list of String:String pairs    p2p:true                                                                                Labels related to this forwarder-vpp instance
NSM_NSNAME                       String                                         forwarder                                                                                Name of Network Service to Register with Registry
NSM_BRIDGENAME                   String                                         br-nsm                                                                                Name of the OvS bridge
NSM_TUNNEL_IP                    String                                                                                IP or CIDR to use for tunnels
NSM_CONNECT_TO                   URL                                            unix:///connect.to.socket                                                                         url to connect to
NSM_DIAL_TIMEOUT                 Duration                                       50ms                                                                                Timeout for the dial the next endpoint
NSM_MAX_TOKEN_LIFETIME           Duration                                       24h                                                                                maximum lifetime of tokens
NSM_REGISTRY_CLIENT_POLICIES     Comma-separated list of String                 etc/nsm/opa/common/.*.rego,etc/nsm/opa/registry/.*.rego,etc/nsm/opa/client/.*.rego                paths to files and directories that contain registry client policies
NSM_RESOURCE_POLL_TIMEOUT        Duration                                       30s                                                                                device plugin polling timeout
NSM_DEVICE_PLUGIN_PATH           String                                         /var/lib/kubelet/device-plugins/                                                                  path to the device plugin directory
NSM_POD_RESOURCES_PATH           String                                         /var/lib/kubelet/pod-resources/                                                                   path to the pod resources directory
NSM_SRIOV_CONFIG_FILE            String                                         pci.config                                                                                PCI resources config path
NSM_L2_RESOURCE_SELECTOR_FILE    String                                                                                config file for resource to label matching
NSM_PCI_DEVICES_PATH             String                                         /sys/bus/pci/devices                                                                              path to the PCI devices directory
NSM_PCI_DRIVERS_PATH             String                                         /sys/bus/pci/drivers                                                                              path to the PCI drivers directory
NSM_CGROUP_PATH                  String                                         /host/sys/fs/cgroup/devices                                                                       path to the host cgroup directory
NSM_VFIO_PATH                    String                                         /host/dev/vfio                                                                                path to the host VFIO directory
NSM_LOG_LEVEL                    String                                         INFO                                                                                Log level
NSM_OPENTELEMETRYENDPOINT        String                                         otel-collector.observability.svc.cluster.local:4317                                               OpenTelemetry Collector Endpoint
NSM_METRICS_EXPORT_INTERVAL      Duration                                       10s                                                                                interval between mertics exports
2023/12/20 01:58:07 [INFO]  Config: &main.Config{Name:"forwarder-ovs-b4jc2", Labels:map[string]string{"p2p":"true"}, NSName:"forwarder", BridgeName:"br-nsm", TunnelIP:"<IP_ADDRESS>", ConnectTo:url.URL{Scheme:"unix", Opaque:"", User:(*url.Userinfo)(nil), Host:"", Path:"/var/lib/networkservicemesh/nsm.io.sock", RawPath:"", OmitHost:false, ForceQuery:false, RawQuery:"", Fragment:"", RawFragment:""}, DialTimeout:50000000, MaxTokenLifetime:86400000000000, RegistryClientPolicies:[]string{"etc/nsm/opa/common/.*.rego", "etc/nsm/opa/registry/.*.rego", "etc/nsm/opa/client/.*.rego"}, ResourcePollTimeout:30000000000, DevicePluginPath:"/var/lib/kubelet/device-plugins/", PodResourcesPath:"/var/lib/kubelet/pod-resources/", SRIOVConfigFile:"/var/lib/networkservicemesh/smartnic.config", L2ResourceSelectorFile:"", PCIDevicesPath:"/sys/bus/pci/devices", PCIDriversPath:"/sys/bus/pci/drivers", CgroupPath:"/host/sys/fs/cgroup/devices", VFIOPath:"/host/dev/vfio", LogLevel:"INFO", OpenTelemetryEndpoint:"otel-collector.observability.svc.cluster.local:4317", MetricsExportInterval:10000000000}
2023/12/20 01:58:07 [INFO]  [duration:2.641675ms] completed phase 1: get config from environment
2023/12/20 01:58:07 [INFO]  executing phase 2: ensure ovs is running (time since start: 2.745275ms)
2023/12/20 01:58:08 [INFO]  local ovs is being used
2023/12/20 01:58:08 [INFO]  [duration:1.270789462s] completed phase 2: ensure ovs is running
2023/12/20 01:58:08 [INFO]  executing phase 3: retrieving svid, check spire agent logs if this is the last line you see (time since start: 1.273562642s)
Dec 20 01:58:08.585 [INFO] SVID: "spiffe://k8s.nsm/ns/nsm-system/pod/forwarder-ovs-b4jc2"
2023/12/20 01:58:08 [INFO]  [duration:43.877516ms] completed phase 3: retrieving svid
2023/12/20 01:58:08 [INFO]  executing phase 4: create ovsxconnect network service endpoint (time since start: 1.317484424s)
Dec 20 01:58:08.586 [INFO] [Config:ReadConfig] unmarshalled Config: &{PhysicalFunctions:map[0000:3d:00.0:&{PFKernelDriver:i40e VFKernelDriver:i40evf Capabilities:[intel 1G] ServiceDomains:[worker.domain] VirtualFunctions:[]}]}
Dec 20 01:58:08.593 [FATA] error configuring forwarder endpoint: lstat /sys/bus/pci/devices/0000:3d:02.0/iommu_group: no such file or directory;      error getting info about specified file: /sys/bus/pci/devices/0000:3d:02.0/iommu_group;  github.com/networkservicemesh/sdk-sriov/pkg/sriov/pcifunction.evalSymlinkAndGetBaseName;               /go/pkg/mod/github.com/networkservicemesh/sdk-sriov@v1.11.1/pkg/sriov/pcifunction/tools.go:50;  github.com/networkservicemesh/sdk-sriov/pkg/sriov/pcifunction.(*Function).GetIOMMUGroup;               /go/pkg/mod/github.com/networkservicemesh/sdk-sriov@v1.11.1/pkg/sriov/pcifunction/function.go:75;      github.com/networkservicemesh/sdk-sriov/pkg/sriov/pci.UpdateConfig;             /go/pkg/mod/github.com/networkservicemesh/sdk-sriov@v1.11.1/pkg/sriov/pci/update_config.go:33; main.createSriovInterposeEndpoint;              /build/main.go:359;     main.createInterposeEndpoint;          /build/main.go:319;     main.main;              /build/main.go:197;     runtime.main;           /usr/local/go/src/runtime/proc.go:250; runtime.goexit;         /usr/local/go/src/runtime/asm_amd64.s:1598;

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# dmesg | grep -E "DMAR|IOMMU"
[    0.016059] ACPI: DMAR 0x0000000068D7C1C8 000248 (v01 ALASKA A M I    00000001 INTL 20091013)
[    1.961752] DMAR: Host address width 46
[    1.961753] DMAR: DRHD base: 0x000000d37fc000 flags: 0x0
[    1.961760] DMAR: dmar0: reg_base_addr d37fc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961761] DMAR: DRHD base: 0x000000e0ffc000 flags: 0x0
[    1.961765] DMAR: dmar1: reg_base_addr e0ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961766] DMAR: DRHD base: 0x000000ee7fc000 flags: 0x0
[    1.961770] DMAR: dmar2: reg_base_addr ee7fc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961771] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[    1.961774] DMAR: dmar3: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961775] DMAR: DRHD base: 0x000000aaffc000 flags: 0x0
[    1.961779] DMAR: dmar4: reg_base_addr aaffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961780] DMAR: DRHD base: 0x000000b87fc000 flags: 0x0
[    1.961783] DMAR: dmar5: reg_base_addr b87fc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961784] DMAR: DRHD base: 0x000000c5ffc000 flags: 0x0
[    1.961788] DMAR: dmar6: reg_base_addr c5ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961789] DMAR: DRHD base: 0x0000009d7fc000 flags: 0x1
[    1.961792] DMAR: dmar7: reg_base_addr 9d7fc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    1.961793] DMAR: RMRR base: 0x0000006b624000 end: 0x0000006b635fff
[    1.961796] DMAR: ATSR flags: 0x0
[    1.961797] DMAR: RHSA base: 0x0000009d7fc000 proximity domain: 0x0
[    1.961798] DMAR: RHSA base: 0x000000aaffc000 proximity domain: 0x0
[    1.961798] DMAR: RHSA base: 0x000000b87fc000 proximity domain: 0x0
[    1.961799] DMAR: RHSA base: 0x000000c5ffc000 proximity domain: 0x0
[    1.961800] DMAR: RHSA base: 0x000000d37fc000 proximity domain: 0x1
[    1.961800] DMAR: RHSA base: 0x000000e0ffc000 proximity domain: 0x1
[    1.961801] DMAR: RHSA base: 0x000000ee7fc000 proximity domain: 0x1
[    1.961801] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x1
[    1.961804] DMAR-IR: IOAPIC id 12 under DRHD base  0xc5ffc000 IOMMU 6
[    1.961805] DMAR-IR: IOAPIC id 11 under DRHD base  0xb87fc000 IOMMU 5
[    1.961806] DMAR-IR: IOAPIC id 10 under DRHD base  0xaaffc000 IOMMU 4
[    1.961807] DMAR-IR: IOAPIC id 18 under DRHD base  0xfbffc000 IOMMU 3
[    1.961808] DMAR-IR: IOAPIC id 17 under DRHD base  0xee7fc000 IOMMU 2
[    1.961809] DMAR-IR: IOAPIC id 16 under DRHD base  0xe0ffc000 IOMMU 1
[    1.961809] DMAR-IR: IOAPIC id 15 under DRHD base  0xd37fc000 IOMMU 0
[    1.961811] DMAR-IR: IOAPIC id 8 under DRHD base  0x9d7fc000 IOMMU 7
[    1.961812] DMAR-IR: IOAPIC id 9 under DRHD base  0x9d7fc000 IOMMU 7
[    1.961812] DMAR-IR: HPET id 0 under DRHD base 0x9d7fc000
[    1.961814] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    1.963751] DMAR-IR: Enabled IRQ remapping in x2apic mode

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# lsmod | grep vfio_pci
vfio_pci               53248  0
vfio_virqfd            16384  1 vfio_pci
vfio                   32768  2 vfio_iommu_type1,vfio_pci
irqbypass              16384  2 vfio_pci,kvm

Hi @316953425 ,

Perhaps it is caused by ”[FATA] error configuring forwarder endpoint: lstat /sys/bus/pci/devices/0000:3d:02.0/iommu_group: no such file or directory”

Yes, it's definitely related to that log printout. It's strange that ethtool shows bus info: 0000:3d:00.0, but the forwarder is looking for 0000:3d:02.0 (another device number: 02)
Could you check where the sys-fs link is pointing?
ls -l /sys/class/net/ens5/device
In theory one of the following might also cause such printout:

the device is not part of an IOMMU group
IOMMU is not enabled
a custom PCI device path is used and must be set as parameter (NSM_PCI_DEVICES_PATH)

I've found this description: https://www.kernel.org/doc/html/latest/driver-api/vfio.html#vfio-usage-example
Could you check the output of the command on one of the master nodes:
readlink /sys/bus/pci/devices/0000:3d:02.0/iommu_group
I'm not sure but if the IOMMU is enabled then the output should contain the "DMAR: IOMMU enabled" line. Could you also check the grub config of master nodes if contains the "intel_iommu=on" option?

hi @glazychev-art @ljkiraly

Could you check where the sys-fs link is pointing?
ls -l /sys/class/net/ens5/device

[root@CNCP-MS-01 deployments-k8s-release-v1.11.1]# ls -l /sys/class/net/ens5/device
lrwxrwxrwx 1 root root 0 12月 21 08:39 /sys/class/net/ens5/device -> ../../../0000:3d:00.0

Hi @316953425 , @glazychev-art ,

Also, I don’t quite understand the meaning of serviceDomains. I filled in worker.domain according to the example in the document. Can you tell me the meaning of serviceDomains?

That part of your configuration is correct. I didn't wanted to confuse you. This gives a possibility to refer a physical resource by  serviceDomain/capability (for example sriovToken=worker.domain/1G).
We should focus to network card configuration on the nodes.
Did you restarted the node after the grub config (or this configuration was already present from the start)?
Do you have any node where the forwarder starts properly?

hi @glazychev-art @ljkiraly

Did you restarted the node after the grub config (or this configuration was already present from the start)?
yes ,I restart the node after the grub config
Do you have any node where the forwarder starts properly?
No, All nodes cannot start forward normally, and the error messages are the same.

hi @glazychev-art
Have we successfully deployed it（https://github.com/networkservicemesh/deployments-k8s/tree/release/v1.11.1/examples/ovs） before?
thanks

hi @316953425
We've discussed this issue a bit - we haven't actually run these examples for a while.
Perhaps we will consider this issue in the next release.


Unrelated, will delete after

Hey @Simmypeet, I apologize for making an issue on here that is unrelated to this project, but I just wanted to get in touch to see if you happened to have archived your pernix-lang repository. I am trying to learn the basics of compilers, and I found your article from December 2022. I was unable to find your project that you made for the article; do you still have the code? If so, I would love to use it as a reference.
In any case, I again apologize for the unrelated issue.
Thanks,
Cameron

Thanks for your attention! I've made the pernix-lang repository private as it has evolved into something more than a tutorial repository. Luckily, I've made a repository called flux in my profile, which happens to be a college project; however, it's an interpreter. I hope this helps!


jaxlib version

Great work that fills a clear need IMO!!
Any thoughts on bumping jax/jaxlib to 0.4.20?

perhaps we can do a >= like in https://github.com/patrick-kidger/equinox/blob/main/pyproject.toml
Happy to send in a tested PR

I'm fine with bumping it, but I prefer to keep a cap (<=) on the max version since JAX is still in v0.x.y so no guaranteed API consistency.

https://github.com/f0uriest/interpax/pull/12 fixed this.


Create SDLC Flowchart from Anastasia's diagram

Create actual flowchart from Anastasia's SDLC whiteboard diagram (attached).

First pass on this attached.

You can add a “git clone/git pull” arrow from GitHub Repo.
The “git commit/git review” doesn’t looks correct.
First - git clone / git pull - it’s alternative. You clone for the first time, and pull the others to get renews. git commit - git review it’s subsequence, you commit for making a commit, then review for sending it to gerrit review.
Second - it doesn’t go to gerrit repository at this moment. It passes through gerrit, triggering CI and starts validation.
But after positive gating it would be merged to gerrit repo. So I'm not sure if it is better to change Merge form to Repo. Merge is more about process.

Updated the diagram.


Pylance suggests importing only those variables that start with a capital letter

Environment data

Language Server version: v2023.2.21
OS and version: Ubuntu 20.04.4 LTS
Python version: 3.10

Python analysis settings in settings.json:
  "python.analysis.inlayHints.functionReturnTypes": true,
  "python.analysis.inlayHints.variableTypes": true,
  "python.analysis.diagnosticMode": "workspace",
  "python.analysis.autoImportCompletions": true,
  "python.analysis.completeFunctionParens": true,
  "python.analysis.autoImportUserSymbols": true,
  "python.analysis.indexing": true,
  "python.analysis.inlayHints.pytestParameters": true,

Code Snippet
I have the following project structure:
project_dir
└── app
    └── package
         ├── module1.py
         └── module2.py

module1.py looks like this:
Foo = "Foo"

bar = "bar"

Repro Steps
I start writing code in a module2.py like below:

Expected behavior
Vs Code offers auto-completion to Foo and bar and makes auto-import the corresponding variable.
Actual behavior
Vs Code offers auto-completion to Foo and does not offer auto-completion for bar.

unfortunately, this is by design. otherwise, you will get thousands of all variables defined in every python files in completion.
that said we could make variable in __all__ to show up regardless whether it starts with capital or not.

we could make variables in __all__ to show up regardless whether it starts with capital or not.

I have a related issue when it comes to __all__ and autosuggestion.
Using the same settings as OP, I find that no matter if I define __all__, autocomplete always shows every possible symbol, including imports, at least in user defined modules.
E.g.
modA.py
import random

__all__ = ['Foo', 'bar']

Foo = "Foo"
bar = "bar"

def _private():
    pass

modB.py

However, it seems to work as expected when importing from other (builtin?) modules, such as pathlib:

I don't understand where the problem comes from, any idea?

I think there may be a misunderstanding of what __all__ does in Python. It indicates to the runtime which symbols should be imported when a wildcard import is used. It does not prevent a non-wildcard import statement from importing other symbols. As such, it really shouldn't have any impact on auto-import.
There are additional rules related to __all__ for a library that is marked as "py.typed". It helps distinguish between private and public symbols in a "py.typed" module. But those rules don't apply to normal user code or libraries that are not marked "py.typed".

There are additional rules related to __all__ for a library that is marked as "py.typed".

Thanks for the explanation. So in theory, if I were to add a py.typed file to my package, I could obtain what I was trying to do ?

If the package is installed as a library in your Python environment, that should work. You could install it directly (in which case the files will be copied to your site-packages directory) or use an editable install (which uses a symbolic link to point back to the files in your project).

@wtfzambo the completion you see is not auto import so it is not the same issue as this issue. so it would be better to open new issue rather than piggyback on this issue.
that said, current the import completion behavior is it will show every symbols defined from the imported module unless the module is stub file or module from py.typed package. but py.typed is for library, not local project.

Thanks for the clarifications @erictraut and @heejaechang :)

We actually had this implemented for long time - https://github.com/microsoft/pyrx/pull/1217
lower case variable must be in __all__ to show up in auto import

In my case it is still not working even with __all__. I dont know what to share so that to make the issue clear.

@abduakhatov, please open a new issue.
When you do that, can you share the project where you're seeing this issue? If not, are you trying to import symbols from a public package? Sharing the package name + version and your import statement might be sufficient in that case.


Why use Gram matrix, not Covariance matrix in allocation strategy?

As described in the paper, maximizing the Gram determinant maximizes the diversity of the templates. Also, the covariance of what?


GHCS bug in simple program

Describe the bug
This appears to be a GHCJS bug, but I'm new here:
panic! (the 'impossible' happened)
  (GHCJS version 0.2.1, GHC version 8.0.2):
	initTc: unsolved constraints
  WC {wc_insol =
        [W] fromString_a2MX :: t_a2MW[tau:1] (CHoleCan: fromString)
        [W] concatenation_a2N6 :: t_a2N5[tau:1] (CHoleCan: concatenation)
        [W] toString_a2Ng :: t_a2Nf[tau:1] (CHoleCan: toString)
        [W] toString_a2Np :: t_a2No[tau:1] (CHoleCan: toString)}

Please report this as a GHCJS bug:  https://github.com/ghcjs/ghcjs/issues

Shared Program
If you have a program that demonstrates what is wrong, add a link here from the "Share" button:

https://code.world/haskell#PpuTGVco91DpCgxUkW_DqkQ

Details

What browser are you using? Firefox/Vivaldi
What operating system are you using? Ubuntu 18.04

Additional context
This was a fairly quick port from regular code world code; maybe I overlooked something

Minimal test case: https://code.world/haskell#P-PZMKwheSmtwIN0SjWd_Iw
x :: Double -> Double
x = y

Is it a problem in vanilla ghcjs or just in code world?
On Thu, Aug 30, 2018, 3:17 PM Chris Smith<EMAIL_ADDRESS>wrote:

Minimal test case: https://code.world/haskell#P-PZMKwheSmtwIN0SjWd_Iw
x :: Double -> Double
x = y
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/codeworld/issues/724#issuecomment-417435595,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA37jhXhLZ8ZfFicGBp4PV29vcvOD9Eyks5uWDozgaJpZM4WUCo3
.

CodeWorld is just invoking GHCJS on the server, so this is a GHCJS problem.  It's a weird one, though.

This is a GHC bug: https://ghc.haskell.org/trac/ghc/ticket/12921
There are two options here: update to a newer GHC (see #655), or backport the fix to 8.0 and patch the local GHC.  This problem only occurs when there's an out-of-scope identifier, so it never affects correct code.  I've also never run into it before, so despite being easy to reproduce with trivial code, it doesn't look like it's common in practice.  So I'm tempted to decide on waiting for upgrade to 8.2 or 8.4.

The patch is non-trivial, and I'd rather not try to fix it in 8.0.  @luite : Do you have any recommendation on the safety of migrating to GHCJS 8.2 or 8.4?

To quickly follow up, it looks like three things are necessary to trigger this bug.

There must be no definition of main (or program in CodeWorld mode).
There must be an explicit type signature on a declaration.
The declaration must use a variable that's not in scope.

The first and third are both independent errors, so it requires two separate errors to trigger this bug.  Nice to fix, but not a big deal.  I'll close this as a duplicate of #655.


Not use InternalThreadLocalMap where access may be done from outside …

…the EventLoop.
Motivation:
We should not use the InternalThreadLocalMap where access may be done from outside the EventLoop as this may create a lot of memory usage while not be reused anyway.
Modifications:
Not use InternalThreadLocalMap in places where the code-path will likely be executed from outside the EventLoop.
Result:
Less memory bloat.

@nmittler @Scottmitch @trustin PTAL

1 comment and lgtm

Cherry-picked into 4.1 (705e3f629ab802539586c7d92f7888697a44c450) and 4.0 (de4692e6e0c64385606f9dfae729cc49d8ac1460)


There is too much log if authorization is disabled.

Motivation
There is too much log if authorization is disabled.
Modifications
Change log level.
Verifying this change
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?

[x] no-need-doc

@casuallc Thanks for your help.


Respect user's target low and target high

This fixes #318
Obviously I am no JavaScript/React etc. master but I think this is a fine implementation. Of course it needed to be tested if the colours would actually change. This is what I did in order to test 😅
var horrible = 0;

globally in dashboard.tsx and I modified getColor func body to begin with:
    if (horrible === 0) {
      value = 169;
      horrible = 1;
    } else if (horrible === 1) {
      value = 45;
      horrible = 2;
    } else if (horrible === 2) {
      value = 79;
      horrible = 3;
    } else if (horrible === 3) {
      value = 130;
      horrible = 4;
    } else if (horrible === 4) {
      value = 235;
      horrible = 5;
    } else if (horrible ===5 ) {
      value = 300;
      horrible = -1;
    }

in my case targetLow was 80 and targetHigh was 160. Everything happened as exepcted. First it turned yellow, then red, then yellow, then green, then yellow, then orange.

Right now:

And I am happy to see this in yellow. Because that's how I see it on my smartphone.

Awesome, thanks @dakyskye!
What do you think about it, @fperera123?

Hey @CrazyMarvin , @fperera123 ; what do you think?

This is great and it is working as follows;

Red: value < LOW
Orange: value > HIGH
Yellow: (value < userSetTargetLow && value >= LOW) || (value > userSetTargetHigh && value <= HIGH)
Green: otherwise

@CrazyMarvin We can put this in the next release.

This is great and it is working as follows;

Red: value < LOW
Orange: value > HIGH
Yellow: (value < userSetTargetLow && value >= LOW) || (value > userSetTargetHigh && value <= HIGH)
Green: otherwise

@CrazyMarvin We can put this in the next release.

Thanks for checking. I will merge it now.


Clean up tests from deleting temp files

Remove majority of manual file deletes at end of tests
Remove instances of manually overriding system streams for test purposes

Codecov Report

Merging #774 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #774      +/-   ##
============================================
- Coverage     99.43%   99.43%   -0.01%
  Complexity     1916     1916
============================================
  Files           288      288
  Lines          5699     5697       -2
  Branches        289      289
============================================
- Hits           5667     5665       -2
  Misses            5        5
  Partials         27       27

Impacted Files
Coverage Δ
Complexity Δ

...uorum/tessera/data/migration/JdbcDataExporter.java
100% <0%> (ø)
4% <0%> (ø)
:arrow_down:

...rum/tessera/data/migration/SqliteDataExporter.java
100% <0%> (ø)
4% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Documenting for Night at the Museum

Document the changes/journey of the game.

Etcetera...

Okay this is becoming more important now..


Session cookie containing dots does not work, and there is no warning

Laravel Version
10.4.1
PHP Version
8.1.4
Database Driver & Version
No response
Description
In my config/session.php, I set the name to "php.connect.sid", viz:
'cookie' => 'php.connect.sid'

Sessions did not work.  After much debugging, I discovered that the session manager was looking for a cookie called php_connect_sid, and not php.connect.sid.  Note that the Set-Cookie: sent out by the session manager used the cookie name php.connect.sid, so Laravel failed to find its own cookie.
I guess one part of the system maps "." in the name to "_", but this is a very obscure rule.  If there's a good reason to disallow "." in session cookie names, then a configuration that breaks this rule should at the very least generate a runtime warning, if not an outright failure.  An assertion failure would do nicely.
I filed this as a bug and not an enhancement, because a perfectly valid cookie name (php.connect.id) does not work, and there is no warning or error message.
Steps To Reproduce
Configure a session cookie name in the cookie variable in config/session.php like foo.bar in a working project, and notice that sessions don't work, and there is no warning of an "invalid" cookie name.

See https://github.com/laravel/framework/issues/16167#issuecomment-257186898


:seedling: add make target to apply clusterstack resource

add make target to apply clusterstack resource
this commit adds make target related to
clusterstacks to the repo. We want to let tilt
start the controller first and then apply the
clusterstack and openstackclusterstackreleasetemplate
resource via a click on tilt UI.
In creation of resources, we are creating
openstackclusterstackreleasetemplate first followed
by clusterstack resource.
Signed-off-by: kranurag7<EMAIL_ADDRESS>

@chess-knight Can you please take a look at this one? (time permitting on your end)

A rather general comment about the review on DRAFT PR.
IMO the good practice is to review the PR that is not in the DRAFT. For me, the DRAFT means something like WIP, i.e. not ready to review.

@matofeder the reason why we follow the approach with draft PRs in all our repos is to not burden the CI so much. In open-source repos it is free, but the CI often cannot run in parallel, for example. This is not relevant in all repos and AFAIK also not relevant in this repo, but we introduced this rule to not confuse people too much.
If you don't like it, I would ask @kranurag7 to not do it in this repo in the future.

@matofeder the reason why we follow the approach with draft PRs in all our repos is to not burden the CI so much. In open-source repos it is free, but the CI often cannot run in parallel, for example. This is not relevant in all repos and AFAIK also not relevant in this repo, but we introduced this rule to not confuse people too much. If you don't like it, I would ask @kranurag7 to not do it in this repo in the future.

@janiskemper thank you for the explanation! IMO in free repos, the CI pipeline could help to have clear code before a reviewer dives into it (e.g. code-linters could find some issues), but now I also understand why you prefer the approach with draft PRs.
I do not want to force anything here, so let the developer decide. I was just curious about that.

@matofeder you are completely right about the CI supporting the developers and finding issues. This is why we usually say that make verify should be used regularly to catch obvious mistakes and to kind of "run the CI locally" without anyone getting bothered by the failing checks.
I would expect that @kranurag7 does this in his draft PR as well ;)
But I think this is a valuable discussion and we should probably have a common understanding among all teams and across all Go-related repos about this! We should maybe bring it to the container team meeting!

@matofeder you are completely right about the CI supporting the developers and finding issues. This is why we usually say that make verify should be used regularly to catch obvious mistakes and to kind of "run the CI locally" without anyone getting bothered by the failing checks. I would expect that @kranurag7 does this in his draft PR as well ;)
But I think this is a valuable discussion and we should probably have a common understanding among all teams and across all Go-related repos about this! We should maybe bring it to the container team meeting!

yep let's discuss this in the larger round, Here are my two cents:

IMO CI pipeline could help to have clear code before a reviewer dives into it
What is the expected PR workflow? Something like this?:

the reviewer does the review on the draft PR
the reviewer approves the PR
PR is then marked as ready for review
CI pipelines run, (it is expected that without fail (it is expected that developer runs something like make verify  locally)
PR is merged

that's pretty much how we do it. We choose this workflow, because we didn't integrate an elaborate chatops like prow, that allows commands like "ok-to-test" etc.

Thank you for the reviews, after final testing, I think this is now ready to be merged.


edit metadata

Background:

end to end overview

edit metadata

Edit Metadata

This pseudo-Python code defines a function to_table that takes a JSON object as input (json_data) and converts its data into tabular columns represented as a dictionary. The code extracts column headers from the keys of the first object in the array and iterates through each object, populating the table dictionary with data based on the column headers.
def to_table(json_data, config):
    table = {}  # Initialize an empty dictionary to store tabular data

    # Check if the JSON object contains data
    if json_data:
        # Assume the JSON object contains an array of objects with similar structure

        first_object = json_data[0]  # Extract the first object to determine column headers

        # Extract column headers from the keys in the first object
        column_headers = list(config[first_object['resourceType']])

        # Assign column headers as keys in the table dictionary in snake_case
        for header in column_headers:
            table[header] = []

        # Iterate through each object in the JSON array
        for obj in json_data:
            # Iterate through each column header
            for idx, header in enumerate(column_headers):
                # Retrieve data from JSON object based on column headers
                flattened = flatten(obj)
                cell_value = flattened.get(header, '')  # Get the cell value or set to '' if key not present

                # Append cell value to the corresponding column in the table in snake_case
                table[column_headers[idx]].append(cell_value)

    return table

configuration:
  default:
    Patient: [flattened column names]
    Specimen: [flattened column names]
    Observation: [flattened column names]
    ResearchStudy: [flattened column names]
    ResearchSubject: [flattened column names]
 <program>:
    # defaults for a program go here
 <program-project>:
    # defaults for a program-project go here

See :
FHIR for Research Analysts
Integrating your data

Evaluate using  flatterer demo


Updated docs examples to use relative imports.

Like said here https://github.com/django/django/pull/16044 :

fixed typo from article to aricles
removed myapp/ from example
switch from absolute to relative path in import from myapp.models import Article -> from .models import Article

Hi @sarahboyce ! You attached the Djangonauts label to this. It's closed now., but you want that to be picked up by some Djangonaut again?

I think it's safe to assume this can be picked (@raffaellasuardini let us know if you're working on this) 👍
The label just means that the PR author was in the Djangonaut program (helps us count prs)

Is this still considered a "trivial fix" that needs no ticket as in [1]?
[1] https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/submitting-patches/#typo-fixes-and-trivial-documentation-changes

I think it doesn't need a ticket :shrug:

Hi @e11bits thanks for asking, I opened the PR and started working based on your previous one (#16044), but I wasn't able to solve the problem either.

I might be busy for the next few days, but it would be nice to work together. Can we work on your new PR?


Transfer the budget between different categories

Thank you for the great plugin.
Is there a way to transfer the budget between different categories?
For example: in April, I have the 500.00 budget left in Expenses:Foods
In May, I plan to use this budget to take a course, is it possible to transfer this 500 from Expenses:Foods to Expenses:Course without allocating the new budget?

do not think there is a way currently, will look to add at some point

+1 for transfer feature. Would be really great to have it

Very new to the extension and just playing around, but shouldn't you be able to simulate a transfer using
2023-04-30 custom "envelope" "allocate" "Expenses:Foods" -500.00
2023-04-30 custom "envelope" "allocate" "Expenses:Course" 500.00


LLM - Wallet Connect New entry point

📝 Description
New Wallet Connect entry point in LLM portfolio page (header). Added Upsell for reborn mode.
❓ Context

Impacted projects: LLM
Linked resource(s): LIVE-5864

✅ Checklist

[x] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo
https://user-images.githubusercontent.com/39890664/224098861-01960d69-16c4-412b-9c1d-969bae766f42.mp4
🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

@mdeidda-ledger here's the associated iOS build workflow : https://github.com/LedgerHQ/ledger-live-build/actions/runs/4377260092


Geo utils follow up

@mattbowen-usds: I just realized the existence of data_pipeline.etl.sources.geo_utils. It looks like this was done in a prior PR. Was there a reason to put the functions there instead of adding these to data_pipeline.utils? Was there circular imports issues?
Originally posted by @esfoobar-usds in https://github.com/usds/justice40-tool/pull/1828#discussion_r949321742
I merged the donut hole code so we can have it in the narwhal release and opened this issue so we can modify as needed.

The reasons were

Originally, they were purely for sources
They effectively (and actually, as written) depend on the census ETL, so it seemed like a lie to put them in data_pipeline.utils, since lower packages shouldn't really depend on the higher ones.

I could rewrite without the code dependency on census.etl.CensusETL and make running that manual --- it'll still logically have the dependency, but won't structurally at least. Open to feedback.

We are not going to refactor this at this time. Closing.


Add a few blog post drafts

I also found a draft of the Czech translation of article from meeting 9, should I also add it?

Definitely! :)

I found out, that the article was almost finished, so I finished it and it should be in PR https://github.com/encukou/freezeyt/pull/200


Fix for nav menus in "watch" mode

In sculpin's watch mode (vendor/bin/sculpin generate --watch --server), the navigation menu seems to get blanked out on pages that are being edited. From debugging the process in flight, it seems that this is because the ->updatedSources() method will only return the 1 file being changed, and this doesn't result in a valid menu being assembled.
By switching to ->allSources(), the bug is fixed, albeit at the performance cost of reapplying the menu for each format run.

Thank you @beryllium. Looks good to me. If it gets too slow, we've to look for another solution.


[FEATURE] Improved logging of credential / authentication issues for cross-account profiles

Issue description
In the current implementation, Seedfarmer's error messages are extremely unhelpful if a module has to be pulled (for example) from a CodeCommit remote in a different account, using a cross-account profile.
In my case, the issue was trivial, I haven't used a proper set of credentials in my shell, so the cross-account profile couldn't be assumed properly. Seedfarmer produced a cryptic stack trace, that looked like an internal tool error and ended with:
git.exc.GitCommandError: Cmd('git') failed due to: exit code(1).
As you can see, the issue is not very explicit.
Solution proposal
When using any external embedded functionality (such as git commands) that could have their own dependencies and throw their own exceptions, Seedfarmer could catch the most common issues (such as expired / wrong credentials) and wrap the embedded functionalities exceptions with more explicit prompts for the user (in my case a prompt like "access denied / wrong or expired credentials" would save me a lot of time and frustration).
To keep it positive:
Thank you for the awesome tool, this is just an enhancement idea! :)

I get the request.  Right now, git returns status codes (like status 1)....which is not really helpful at all.  I have no idea if the issue is expired credentials or if wrong credentials or if the repo doesn't exist.  I have 2 choices: return what SF gets or mask that response with a generic message....neither of which sounds ideal...
I am looking at revamping the messaging to give hints...but the ask to provide a reason for failure is limited to what SF gets from the supporting systems...
But I get it...this is a valid ask.

I added some hints when an error occurs and the error messages returned.  I delved into the exit codes (ex 1 and 128) but could not find consistent messaging for each status code, so I am just echoing it back.


When performing a spark task with scala, the task and spark engine will not be released correctly if the last line is a comment.[Bug]

Search before asking

[X] I searched the issues and found no similar issues.

Linkis Component
linkis-engineconnn-plugin
Steps to reproduce
1.submit a scala task

2.Observe the task log to see that the task cannot succeed for a long time
Expected behavior
Complete the task normally
Your environment

Linkis version used: 1.0.3
Environment name and version:

spark-2.4.0
scala-2.11.12
jdk 1.8.0_121

Anything else
When the last line is a comment, the task completes and the last commit is "IncompleteExecuteResponse", while the subsequent logic does not process "IncompleteExecuteResponse".
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

提供最新版DataSphereStudio全家桶安装服务。
包括（DataSphereStudio, Linkis, Exchangeis(Datax, Sqoop), Scriptis, Streamis(Flink), Visualis, DolphinScheduler)

另外包含 元数据，数据安全，数据质量，数据血缘。（这些都是DataSphereStudio不自带的服务）
包含hadoop集群搭建（hive, spark, flink, kafak, kylin）
提供上述所有系统二次定制开发服务
提供系统搭建运维疑难问题解决

添加备注，DSS大数据
持续为DataSphereStudio开源贡献力量


Update serverlist.json

I hope there is no escaping in JSON. Else just correct it or tell me to ^^

Missing commas, otherwise fine.


File names and folder structure

Our current file name scheme is somewhat inconsistent:

Profiles don't get any prefix
Extensions are prefixed with "ext-" (this applies to the .id as well)
ValueSets don't get any prefix
CodeSystems get the prefix "codesystem-"
ConceptMaps get the prefix "conceptmap-"
For SearchParameters the proposal is to use the prefix "searchparameter-" (#139)

In een package zoals de IG Publisher of Simplifier ze maakt, heeft elk bestand de prefix van het type resource inclusief captilisatie.  Mijn voorstel zou zijn (ook met het oog op andere repositories) om:

profielen en extensies te houden zoals ze zijn maar ze te verplaatsen naar een folder "StructureDefinitions"
voor alle terminologie-resources deze richtlijn over te nemen en ze te plaatsen in de folder "vocabulary" (naast StructureDefinitions) ("vocabulary" is een conventie vanuit de IG Publisher)
voor alle SearchParameters, CapabilityStatements, etc. deze richtlijn over te nemen en ze te plaatsen in eigen folders (naast StructureDefinition dus)
Voorbeeldmaterialen te houden zoals ze zijn maar (filename = id, folder "examples")

Wat ik bedoelde is to use the convention for file name prefixes, so the PascalCased resource name as a prefix (except for profiles and extensions).
To be clear: adopting any of these conventions is just to keep our repositories manageable, there's no formal implication (in packages everything will be renamed).
From a manageability perspective, I think it makes sense to clump the following things together (this is just my intuition):

Profiles and extensions
Terminology related stuff -- ValueSets, ConceptMaps, CodeSystems and NamingSystems
Example materials
SearchParameters are on their own
CapabilityStatement are on their own

For the zib repository, the profiles/extensions are the "core" elements, but this might not be true for some use case repo's, that's why I feel these things should be on the same folder level.
I'm not sure if prefixing examples with "example-" (and "fixture-" for fixtures?) is such a good idea, the file names/ids are already ballooning out of control at the moment. Besides, if you want to be consistent with the IG Publisher and Simplifier you'd use the resource type as prefix (e.g. Condition-nl-core-Problem-01 etc.). But they are in the "examples" folder anyway, so I don't see much added value.

Agree with the proposal.
Also do not agree with examples being prefixed with 'example'. At the moment Simplifier does its own thing trying to render an 'example title' (only showing id when it does not find enough data to render a title), but clearly shows 'Example' in package view. With Simplifier being Nictiz' 'package browser' of choice I do not see much added value.
I have doubts on what is a good time to process this request. With all branches being out there using the old structure, perhaps it would be wise on processing this at a point in time closer to the final release?

I have doubts on what is a good time to process this request. With all branches being out there using the old structure, perhaps it would be wise on processing this at a point in time closer to the final release?

That's a valid point. It would however be easier to not make something special in the QA tooling for SearchParameters and than later on change that to accommodate the new file name/folder structure. So I would like to just go ahead.

@pieter-edelman-nictiz Is this the right issue to add a disscusion about the capabilitystatement filename

The filenames of CapabilityStatements also have variants among the projects. I would like add the following suggestion to file name scheme proposal:

I would say [project prefix] instead of [informatiestandaard] - which would be 'mp' in my case, and 'lu' in your case - matching the AD project. If you would like to use 'lab' instead of 'lu' that is perhaps another discussion.
'Scenario' and 'Transaction' are not terms that apply to every standard I guess. MP only uses 'transactions', MedMij speaks of 'use cases'. Perhaps we can generalize is somewhat to say 'use whatever grouping you want, from generic to specific'
Third, maybe only 'role' if this is applicable. See also https://bits.nictiz.nl/browse/MM-2163.Looking at http://hl7.org/fhir/capabilitystatement.html I would say that you would have a .rest for both client and server. Each CS then has both client and server info instead of separate files, but if these elements are identical for client and server this still leads to duplication of information. Is this easier to maintain than separate files, whether they are identical or not?
So:
CapabilityStatement-[project prefix](-[group1])(-[group2])(-[group-etc])-[role (if applicable)]

Since role would be optional, I suggest tweaking a bit to:
CapabilityStatement-[project prefix](.[group1])(.[group2])(.[group-etc])-[role (if applicable)]

Terminology related stuff -- ValueSets, ConceptMaps, CodeSystems and NamingSystems
At the moment, the task of refreshing terminology is somewhat harder because material made by hand and material generated (and thus 'automatically' refreshed) by Art-Decor are in the same folder. I would propose having two subfolders, one for the manual stuff and one for the AD stuff.

This mainly goes for ValueSets at the moment, as all ConceptMaps are made by hand and all CodeSystems are generated.
As for NamingSystems: the ones that are there at the moment are manual, but there is an issue on that: #277

Issue-pagina aangemaakt op https://informatiestandaarden.nictiz.nl/wiki/FHIR:Vissue-235_FHIR_Profiling_Guidelines_R4#Folder_structure_and_file_name

@pieter-edelman-nictiz  - reviewed the wiki issue-pagina. It correctly captures the above discussion for improved file names and folder structure.
It does not capture

the suggestion by Jorn to add subfolders to split the AD-generated resources (e.g. ValueSets) from manually created resources.
the proposed guidelines for CapabilityStatement IDs and thus file names.

@pieter-edelman-nictiz - reviewed the wiki issue-pagina. It correctly captures the above discussion for improved file names and folder structure. It does not capture
* the suggestion by Jorn to add subfolders to split the AD-generated resources (e.g. ValueSets) from manually created resources.

Because that's a consideration for this specific project, not a general rule. The guidelines state that subfolders may be used where needed.

* the proposed guidelines for CapabilityStatement IDs and thus file names.

I want to split this out into a separate issue, I think it is a bit to vague at this point.


Config

Removing requirement to use environment variables for key and secret. This PR should be merged after the rubocop PR.

changed the approach, removing validation entirely


Rename pyproject_toml in dependency_getter to poetry

PR Checklist

[x] A description of the changes is added to the description of this PR.
[ ] If there is a related issue, make sure it is linked to this PR.
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] Documentation in docs is updated

Description of changes
In prevision of supporting #109, this PR renames pyproject_toml to poetry in dependency_getter, refactoring a bit the methods and tests along the way.

Codecov Report

Merging #151 (1a65052) into main (e71dc6a) will decrease coverage by 0.0%.
The diff coverage is 90.0%.

@@           Coverage Diff           @@
##            main    #151     +/-   ##
=======================================
- Coverage   92.2%   92.1%   -0.1%
=======================================
  Files         42      42
  Lines       1348    1346      -2
=======================================
- Hits        1243    1241      -2
  Misses       105     105

Impacted Files
Coverage Δ

tests/dependency_getter/test_requirements_txt.py
100.0% <ø> (ø)

tests/issue_finders/test_missing.py
100.0% <ø> (ø)

tests/issue_finders/test_obsolete.py
100.0% <ø> (ø)

tests/issue_finders/test_transitive.py
100.0% <ø> (ø)

deptry/core.py
57.1% <33.3%> (ø)

deptry/dependency_getter/poetry.py
100.0% <100.0%> (ø)

tests/dependency_getter/test_poetry.py
100.0% <100.0%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Good idea to rename it!


Named Addon Classes which Extend Resource not added to ClassDB

Godot version:
3.2
OS/device including version:
Win 10
Issue description:
Named Classes using class_name are not added to the ClassDB (and thus can't be created using the editor interface) if they are contained within res://addons and extend Resource
Classes which extend Resource outside of the folder are registered as expected. As are classes in the folder which extend Reference or Object.
Steps to reproduce:
Create a Named GDScript Class file which extends Resource and place it in a subdirectory within res://addons
Minimal reproduction project:

If this is intentional, then all uses of class_name within res://addons should be ignored. And not just resources.

Duplicate of #30048.


docs: improve examples !minor

coverage: 96.468%. remained the same
when pulling 04123106c2ed05ad0bed3f017c5a981b2dc1b328 on improve-examples
into 152cf95c99d6c530d2756c40526859f5372c6f7f on main.


Fake data

Adds data gen for records and user.
It has cli integration with we can create users, record as many we want.
Please take a look.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2021.9.x@0334478). Click here to learn what that means.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             2021.9.x     #216   +/-   ##
===========================================
  Coverage            ?   41.30%
===========================================
  Files               ?      645
  Lines               ?    56444
  Branches            ?        0
===========================================
  Hits                ?    23314
  Misses              ?    29869
  Partials            ?     3261

Continue to review full report at Codecov.

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


Element Interaction Issues with TestCafe RC1 3.7.0 and Chrome 130

What is your Scenario?
I have seen multiple tickets related to errors caused by the latest stable version of Chrome (130), which I am also experiencing with TestCafe 3.6.2. In response, I upgraded to TestCafe RC1 3.7.0, which is supposed to address these issues.
However, it appears that Google Chrome is unable to interact with elements—specifically, it cannot type into or click on any elements. In contrast, switching to Firefox allows the tests to run without any issues.
Previously, everything was functioning correctly with TestCafe 3.6.2 and the earlier version of Chrome.
Note:
The selectors may change depending on the language used in your machine.
What is the Current behavior?
Chrome is unable to interact with elements
What is the Expected behavior?
I should be able to interact with elements.
What is the public URL of the test page? (attach your complete example)
https://www.google.com/
What is your TestCafe test code?
import { Selector } from 'testcafe';

fixture `Bug Report: Form Submission Issue`
    .page `https://www.google.com/`;

test('Search anything test', async t => {

    // Example selectors
    const searchInput = Selector('textarea[title="Buscar"]');
    const firstRecommendation = Selector('ul li').nth(0);

    await t
        .typeText(searchInput, 'find anything')
        .click(firstRecommendation);
});

Your complete configuration file
No response
Your complete test report
{
  "devDependencies": {
    "testcafe": "^3.7.0-rc.1"
  },
  "scripts": {
    "chrome": "testcafe chrome testcafe.js",
    "chrome:headless": "testcafe chrome:headless testcafe.js",
    "firefox": "testcafe firefox testcafe.js"
  }
}

Screenshots
No response
Steps to Reproduce

npm run firefox
npm run chrome

see that firefox runs fine and chrome fails.
using the scripts in the package.json
TestCafe version
3.7.0 rc1
Node.js version
No response
Command-line arguments
npm run chrome
Browser name(s) and version(s)
Chrome 130
Platform(s) and version(s)
No response
Other
No response

I am facing the same problem when running my tests locally. Nothing happens when clicking on checkboxes, buttons, etc.

Chrome 130
TestCafe 3.7.0-rc.1
MacOS Sonoma 14.6.1

Same issue here. As soon as our build agents got a new image containing Chrome 130, all tests starting to fail.

Chrome 130
TestCafe 3.6.2
Ubuntu 22.04.5

Note that the problem does not seem to affect Edge 130 (which is also Chromium-based).

Same issue with Chrome 130, we move to Edge as workaround, but our application is built for Chrome
Chrome 130
TestCafe 3.7.0-rc.1
MacOS Sonoma 14.7

The new release you have pushed out is that for TestCafe Studio or open source?
Where can I download new version of the Testcafe Studio? Thanks.

I can confirm the above behaviour, however there is a workaround to get tests running again for 3.7.0-rc.1.

Disable native automation
Disable Screenshots and Video capture (I just commented them out in testcaferc.json). However if you use t.takeScreenshot() anywhere it will still fail, so I had to add disableScreenshots: true to testcaferc.json

csw1701 - are you using studio or open source test cafe?

csw1701 - are you using studio or open source test cafe?

I'm using open source testcafe

I am getting also same issue with Testcafe version 3.5.0 and tried with latest version 3.7.0.  I am stuck to run our daily automated test case. Could you provide any solution?

Hello,
We have released TestCafe 3.7.0-rc.2, which addresses this issue. Please try it and let us know if the issue is gone.

3.7.0-rc.2 fixes this issue for my Test Cafe use cases. The element interactions seem to behave the same as with 3.6.2.

Thank you @Bayheck

3.7.0-rc.2 fixes this issue for my Test Cafe use cases. The element interactions seem to behave the same as with 3.6.2.

Thank you, It worked for me

3.7.0-rc.2 fixes the element interaction problem for me as well.
Thank you TestCafe team!

The fix seems to be working fine. However, I'm currently facing a dependency issue where certain packages require TestCafe to be a version "<1.0.0", and since RC2 is "3.7.0-rc.2", they are failing. Do we have an estimated release date for the official 3.7.0?

I will close this issue as it was fixed in the PR: https://github.com/DevExpress/testcafe/pull/8315


create docker environment for devs

right now people on windows have issues to setup the project #28 #30
Docker would be the way to go for now

could you assign this to me? I'd like to have a shot at this.

could you assign this to me? I'd like to have a shot at this.

sure! thank you. If you need assistance, hit me up on Discord :)

done in #62


Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py by adding [^._] to the regex
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


bug(mat-hint): Hints on a disabled form field don't follow the m2 spec

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When changing states of a form field from enabled to disabled, the m2 spec expects that the hint/helper text also slightly changes color to reflect the state change of the field itself.
Reproduction
StackBlitz link:  https://stackblitz.com/edit/gtyt7r?file=src%2Fapp%2Fform-field-hint-example.html
Steps to reproduce:

See the hint on the disabled form field

Expected Behavior
According to the m2 spec, the hint should also be greyed out more (for both outlined and filled form fields):
https://m2.material.io/components/text-fields#outlined-text-field

Actual Behavior
The hint does not change when the form field is in different states:

Environment

Angular: 15.2.9
CDK/Material: 15.2.9
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

Hello,
If anyone also needs to patch this before a fix is merged into the library I used the following css :
.mat-form-field-disabled {
  .mat-mdc-form-field-subscript-wrapper {
    opacity: 0.5;
  }
}


Analyse CONSEP architecture - Site map and flowchart

Describe the task
The goal of this task is to analyse the architecture and organisation of CONSEP pages. Scope is to run an assessment on:
This task is focused on creating a new flowchart and sit map prototype
what we will keep
what we will remove
group items together for navigation
review with users to determine if the navigation makes sense
Acceptance Criteria
Understand user requirements for optimal architecture
Document what we will keep and remove
Document grouping and navigation options in Figma
SME/User Contact
Victoria L.
Eric K.
Bendix H.
Spencer R.
Marilyn C.
Taylor W.

Relates with task https://github.com/bcgov/nr-spar/issues/886

Broke down into 2 pieces.
(Was 5 points - updated to 2 points)


Macos: vscode will not create a new window in a "space" if there is not already a vscode window in that space

VSCode Version: 1.47.2
OS Version: Macos 10.15.6

Steps to Reproduce:

have a vscode window open in one space
switch to a different space, activate vscode from the dock or cmd-tab and choose "new window" from the File menu
see nothing happen at all

Does this issue occur when all extensions are disabled?: Yes.

/duplicate https://github.com/microsoft/vscode/issues/63959


Remove explicit set of memberlist protocol

Memberlist does a full validation of the protocol version (min, current, max)
amoung all the ndoes of the cluster.
The previous code was setting the protocol version to max version.
This makes the upgrade incompatible.
Relates to: moby/moby/issues/33091
Signed-off-by: Flavio Crisciani<EMAIL_ADDRESS>

Thanks @fcrisciani LGTM

thanks @fcrisciani. LGTM


Change Event fired if pattern does not match the Locale

We set these pattern and parsers:
setPattern(convertDateFormatMask);
setParsers("ddMMyy", "ddMMyyyy", "dd.MM.yy", "dd.MM.yyyy");

If we run the app locally with the Locale de_CH everything works fine
Running the app on Docker with Locale en_US creates change events with isFromClient == true!
To workaround we set the Locale as well:
setLocale(new Locale("de", "CH"));
This doesn't happen with the normal DatePicker

Johannes thinks that it will make JS call to set the locale which triggers value change from the client


Update readme.md

I was looking for an equivalent of this package for bytes, and I struggled with how to explain what I was looking for on Google. I thought I might help people going through the same path of thoughts. I would totally understand if you considered it out of scope.

Hi Aymeric, thanks for the PR! I see what you mean.
There is some similarity in that both packages can convert a string to a number and vice-versa.
But they're not actually related so I don't think we want to add this to the README.
Also, Google shows bytes as the first hit when I search "convert bytes to string" so I'm going to close this 😄

No worries 🤗


plugin: add hexo-abbrlink3

Check List
Please read and check followings before submitting a PR.

[ ] I want to publish my theme on Hexo official website.

[ ] I have read the theme publishing doc.
[ ] name is unique.
[ ] link URL is correct.
[ ] preview URL is correct.
[ ] preview URL web site is rendered correctly.
[ ] Add a screenshot to source/themes/screenshots.
[ ] Screenshot filename is same as value of name.
[ ] Screenshot size is 800 * 500.
[ ] Screenshot file format is png.

[x] I want to publish my plugin on Hexo official website.

[x] I have read the plugin publishing doc.
[x] name is unique.
[x] link URL is correct.

[ ] Others (Update, fix, translation, etc...)

Languages:
[ ] en English
[ ] ko Korean
[ ] pt-br Brazilian Portuguese
[ ] ru Russian
[ ] th Thai
[ ] zh-cn simplified Chinese
[ ] zh-tw traditional Chinese

Superseded by https://github.com/hexojs/site/pull/2165
Thanks for your contribution!


Cloud: Add note about X64

Only X64 OS architecture is currently supported.
Fixes #589
cc @fermayo @borjaburgos

Deploy preview ready!
Built with commit e1febaabc0ea9c8b10e60f25704e53b7bf07c0ab
https://deploy-preview-604--docker-docs.netlify.com


[BugFix] Fix assigning wrong type for empty array/map/struct

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #16659
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/Expr.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/Type.java
1
1
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/Expr.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/Type.java
1
1
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 1 / 2 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ExpressionAnalyzer.java
1
2
50.00%
[315]

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_admit_test

run starrocks_fe_unittest

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

[FE PR Coverage Check]
:heart_eyes: pass : 12 / 13 (92.31%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/PolymorphicFunctionAnalyzer.java
4
5
80.00%
[113]

:large_blue_circle:
com/starrocks/catalog/MapType.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/StructType.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/ArrayType.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/ExpressionAnalyzer.java
3
3
100.00%
[]


Change Arbitrary[Positive[A]] to do less filtering.

As @rklaehn observes, filtering a significant proportion of
values from a Gen[A] creates a real risk of tests failing
for not finding enough valid values.
In many cases (as here), .filter can be replaced by .map.

I'm merging this, test failure seems bogus.


Static page generation in python would be better than client-side jQuery include

I should do this in the jot.py instead of w/ jQuery in index.html. Not sure why I didn't think of that before.

Oh yes.


feat(pagewizard): afterFooterContent new prop

Closes #1717
Summary
New prop afterFooterContent added to PageWizardStep

Change List (commits, features, bugs, etc)

feat(pagewizard): afterFooterContent new prop

Acceptance Test (how to verify the PR)

Validate if PageWizardStep still works with and without the new afterFooterContent prop

:tada: This PR is included in version 2.140.0-next.2 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.140.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature Request] Code snippet sharing

Just riffing with the idea of code snippet sharing on SolPg.

Share code snippets with a shortened URL, makes sharing small PoCs easier for devs.
Have an option to import the code from a git repo like GitHub (May cause an issue with Anchor.toml, Cargo.toml file imports)
Have an option to export the files from SolPg into a compressed package.

I understand that this feature is a complex one to do single-handedly,
kindly suggest where you may need help if you were to build this out!
Devs should be happy to contribute!

Yes, all of these features are needed for better experience.

Share code snippets with a shortened URL, makes sharing small PoCs easier for devs.

Added this recently, haven't announced yet but you can use the feature currently. Example. There is a share button in explorer page.

I understand that this feature is a complex one to do single-handedly,
kindly suggest where you may need help if you were to build this out!

I appreciate any help and you can work on this if you'd like, but this features are probably too difficult for new people to implement. I will be opening some easier issues for people to implement if they want to contribute.

I totally missed the share feature. It works!

Share code snippets with a shortened URL, makes sharing small PoCs easier for devs.
Have an option to import the code from a git repo like GitHub (May cause an issue with Anchor.toml, Cargo.toml file imports)
Have an option to export the files from SolPg into a compressed package.

Closing this as all 3 of these requests have been implemented.


Changing PFS file property (pfs-location) at runtime

Can the PFS file property - pfs-location - be changed at run time? I can make a call:
g_object_set (G_OBJECT (_d->camsrc), "pfs-location", fileName.c_str(), NULL);
It is not returning any error, but the values from the new file are not reflected in the image quality.
Please advise,

the file currently only gets applied during startup.
What is your use case ?

We want the end user to change the presets by applying different PFS files via UI per the image quality requirements (depending on camera position, light conditions, etc.)

As the PFS file contains features that can't be changed during runtime ( while the stream is running ) you would have to move the pipeline to pause state anyhow.
Would this be feasible for your application ?

I'm sorry for not getting back to you sooner. Yes - we were thinking the same. We will pause the pipeline, change the pfs file property, and then put the pipeline back in the PLAYING state. We do have control to do that. Please advise,


node.start(wait_other_notice=True, ...) may return too early because implementation of wait_other_notice may observe past state

wait_other_notice in ccmlib/scylla_node.py currently works by looking at the /gossiper/live endpoint API
https://github.com/scylladb/scylla-ccm/blob/bd519ed12cccd8186dedf8613656f21dd156354e/ccmlib/scylla_node.py#L334
https://github.com/scylladb/scylla-ccm/blob/bd519ed12cccd8186dedf8613656f21dd156354e/ccmlib/scylla_node.py#L1361
If other nodes see the node as UP, and the node sees other nodes as UP, the check will succeed.
But consider the following:

2 nodes A, B
kill node A
start node A with wait_other_notice=True

The start call will often return quickly, but not because node B noticed that A restarted
but because node B didn't even notice that A was killed yet!
So node B may still consider A as UP because it was UP before it was killed; B's failure detector just didn't react to that event yet.
That's why the old implementation in ccmlib/node.py used log markers, it watched other nodes' logs from a point after the node was restarted, effectively serializing the events.
This bug was introduced in https://github.com/scylladb/scylla-ccm/pull/462.
cc @temichus

We could fix it by combining the old behavior (with log markers) with the new behavior (watching REST). For example -- we could wait for the "is now UP" message first, then use watch_rest_for_alive.
Although, looking at Scylla code, I don't really understand why "is now UP" is not sufficient; it happens strictly after modifying live_endpoints set in gossiper, which is used by the /gossiper/live REST API.
Perhaps it's necessary for some older versions of Scylla.
And I see that watch_rest_for_alive contains additional logic for watching for NORMAL too, so that is still useful.

E   cassandra.Unavailable: Error from server: code=1000 [Unavailable exception] message="Cannot achieve consistency level for cl ONE. Requires 1, alive 0" info={'consistency': 'ONE', 'required_replicas': 1, 'alive_replicas': 0}

(https://jenkins.scylladb.com/view/staging/job/scylla-staging/job/artsiom_mishuta/job/dtest-pytest-gating/240/testReport/junit/update_cluster_layout_tests/TestUpdateClusterLayout/test_simple_kill_remained_node_while_decommissioning_96_100_/)
because we execute SELECT too fast. start returned too early, and then node 2 marked node 1 as DOWN, and then we executed SELECT before node2 marked node 1 as UP again.

But consider the following:
* 2 nodes A, B
* kill node A
* start node A with `wait_other_notice=True`

The start call will often return quickly, but not because node B noticed that A restarted but because node B didn't even notice that A was killed yet!

I see that you and Benny liked https://github.com/scylladb/scylla-ccm/pull/564 so I'll merge it, but I want to point out that I think the real problem in your example above is that "kill node A" neglects to wait for node A to be killed. If you want to do "kill node A" followed in quick succession by "start node A", it doesn't make sense to not wait for node A to be killed before starting it again.
The benefit of https://github.com/scylladb/scylla-ccm/pull/564 is that it will allow the test to succeed despite the test bug that it forgets to wait for the "kill node A" to finish, so in that sense it is a good patch because it makes tests less easy to write incorrectly.

but I want to point out that I think the real problem in your example above is that "kill node A" neglects to wait for node A to be killed. If you want to do "kill node A" followed in quick succession by "start node A", it doesn't make sense to not wait for node A to be killed before starting it again.

I see it differently. The semantics of wait_other_notice should be as the name suggests: we wait until other nodes notice this particular start event. (Not some earlier start event.)
The test is correct when written using this assumption, this semantics. (And it was indeed so -- before https://github.com/scylladb/scylla-ccm/pull/462)


Add bot: {check_solvable: true}

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-webservice.
It appears you are making a pull request from a branch in your feedstock and not a fork. This procedure will generate a separate build for each push to the branch and is thus not allowed. See our documentation for more details.
Please close this pull request and remake it from a fork of this feedstock.
Have a great day!

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jonashaag Please only make PRs from forks as outlined on the PR template. All builds on the main repo will trigger package uploads.


fix: pill: handle jsx when lineclamp is null or zero

SUMMARY:
When lineClamp is null or 0, this causes a JSX exception. Update the expression to pass a null value to handle JSX. Updates storybook to include this test via default props.
JIRA TASK (Eightfold Employees Only):
ENG-41517
CHANGE TYPE:

[X] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[X] Tests for this change already exist (Storybook)
[ ] I have added unittests for this change

TEST PLAN:
Pull the PR branch and run yarn and yarn storybook. Verify the Pill stories behave as expected after a hard reload and a lineClamp value of 0.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0211fc2). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #515   +/-   ##
=======================================
  Coverage        ?   84.76%
=======================================
  Files           ?      785
  Lines           ?    16452
  Branches        ?     5697
=======================================
  Hits            ?    13946
  Misses          ?     2440
  Partials        ?       66

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


"On" parameter in params.txt not respected

Since version 0.05a, the "on" parameter has not been respected in params.txt. This has broken the sound exporter for BeamNG and other games.
(Thank you for updating Mod Loader pretty quickly with the new changes, and sorry to bother you!)

Noticed that, and fixed it in a new update coming out soon.

Fixed in 0.0.51a


pre trained Deep Learning models for ESCU - Support for DSDL Version 5.1.1

https://github.com/splunk/security_content/wiki/How-to-deploy-pre-trained-Deep-Learning-models-for-ESCU
At present, looks like use of these models is only supported on DSDL Version 5.0 with Golden Image CPU 5.0.0
Is there any possibility of supporting this on latest DSDL version 5.1.1 as well?

Hey @atgithub11 evaluating this request, will come back to you with an answer hopefully in the next 2 weeks. Thank you for raising.

Hello Team, can you help me with this OKAT ESCU ALERT: Okta Successful Single Factor Authentication.


Improve exception message for missing XAML resource

Describe the bug
I included a style resource but accidentally used the wrong file extension .xaml instead of the, in my case, correct .axaml:
<Application.Styles>
      <StyleInclude Source="avares://Assembly/Themes/Theme.xaml" />
</Application.Styles>

When running this app you will get an exception with a message similar to this:
'No precompiled XAML found for avares://Assembly/Themes/Theme.xaml (baseUri: avares://AppAssembly/App.axaml), make sure to specify x:Class and include your XAML file as AvaloniaResource'

This was a bit missleading to me because when I troubleshooted the problem I focused on the x:Class and AvaloniaResource part of the message. I did not even notice the wrong extension.
My file had "Avalonia XAML" as "Build Action" and did not have (does not need?) a x:Class attribute. The only problem was that I used .xaml instead of .axaml.
To Reproduce
Steps to reproduce the behavior:

Create simple Avalonia app project
Create Avalonia class library with a Styles resource (Build Action: Avalonia XAML) with .axaml extension
Include style resource in app using the .xaml extension
Run app
Exception thrown

Expected behavior
I would like a better exception message so that it is easier to figure out that you made a simple error of using the wrong file extension.
If the resource could not be found it might be useful if the AvaloniaXamlLoader would check if the resource exists but with the other file extension and in that case throw with a appropriate message ("No precompiled XAML found for resource.xaml Make sure to use the correct file extension because there is resource with the same name ending in .axaml")
Or possibly just change the message to:
'No precompiled XAML found for avares://Assembly/Themes/Theme.xaml (baseUri: avares://AppAssembly/App.axaml), make sure to verify the resource URI is correct, specify x:Class and include your XAML file as AvaloniaResource'

Screenshots
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs#L35-L78
Desktop

OS: Windows
Version 11.0.0-preview4

In the current master runtime loader is not used, and instead compiler directly injects correct calls into the IL.
So, there is another error would be shown in this case
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlIncludeGroupTransformer.cs#L119

Linking with https://github.com/AvaloniaUI/Avalonia/issues/4466

In that case the new exception message is much more clear.
It might be overkill then to have the loader diagnose the problem and trying to find a resource with the same name but different extension (axaml/xaml) and having a different message in case there is a chance that the wrong extension was used.
I mean it would be nice if Avalonia told me I probably used the wrong file extension but not necessary and maybe it is trying to be too clever. On the other hand it might be a common misstake since many developers are used to the .xaml extension.


Fritz!Box 6591 Shell - Error: forkpty(3) failed.

Describe The Bug:
When trying to install/update plugins I see the above error message. My kernel lacks CONFIG_LEGACY_PTYS.
Could node-pty-prebuilt-multiarch.spawn be replaced with child_process.spawn?
To Reproduce:

Open shell on Fritz!Box 6591
install HB
install plugin from within HB

Expected behavior:
Normal install/update of plugin occurs.
Logs:

Homebridge Config:
...standard...
Environment:

Node.js Version: v16.2.0
NPM Version: 7.13.0
Homebridge Version: v1.3.4
Homebridge Config UI X Version: v4.41.1
Operating System: Linux (Fritz!OS 7.26)
Process Supervisor: hb-service

Is there anything I can do about it?


add cors

I learned something about API Gateway's CORS support the other day. It appears that if you have a * endpoint it doesn't automatically answer the OPTIONS request. I suppose in hindsight that makes sense - it doesn't know if the endpoint being requested even exists.
We had added CORS support when running locally, but not when running under lambda. So I made CORS a middleware.
I also learned something about gorilla mux. Gorilla doesn't call middleware functions unless the path and method match an existing route. So I had to add OPTIONS as additional methods on all of the routes.

Do you return a GET body to an OPTIONS request? Is that correct?

You're not supposed to, but I verified that the gorilla CORS handler doesn't call "next" on an OPTIONS request. I just needs an endpoint. We could create separate routes for the OPTION methods with dummy handlers. Would that be clearer?

So does Gorilla not actually return the body? I don't feel strongly about it but it seemed a bit weird. Perhaps a comment at least?

that's right. I'll make separate routes. It seemed odd (unexpected) to me as well.

what do you think?


Cannot query field "localFeatureImage" on type "GhostPage"

after cloning repo added Ghost 3.0 cms contentApiKey but if gives following error
warn Plugin @draftbox-co/gatsby-theme-ghost-attila is not compatible with your gatsby version 2.24.80 - It requires<EMAIL_ADDRESS>success open and validate gatsby-configs - 0.094s
warn Plugin @draftbox-co/gatsby-plugin-css-variables is not compatible with your gatsby version 2.24.80 - It requires<EMAIL_ADDRESS>warn Plugin @draftbox-co/gatsby-theme-ghost-attila is not compatible with your gatsby version 2.24.80 - It requires<EMAIL_ADDRESS>success load plugins - 0.355s
success onPreInit - 0.025s
success delete html and css files from previous builds - 0.003s
success initialize cache - 0.007s
success copy gatsby files - 0.014s
warn gatsby-plugin-feed was initialized in gatsby-config.js without a title in a feed.
This means that the plugin will use the default feed title, which may not match your use case.
This behavior will be removed in the next major release of gatsby-plugin-feed.
For more info, check out: https://gatsby.dev/adding-rss-feed
success onPreBootstrap - 1.738s
success createSchemaCustomization - 0.011s
success Checking for changed pages - 0.008s
success source and transform nodes - 2.550s
warn Plugin `@draftbox-co/gatsby-theme-ghost-attila` has customized the GraphQL type `GhostPost`, which has already been defined by the plugin `gatsby-source-ghost`. This could potentially
warn Plugin `@draftbox-co/gatsby-theme-ghost-attila` has customized the GraphQL type `GhostPage`, which has already been defined by the plugin `gatsby-source-ghost`. This could potentially
success building schema - 0.392s
info Total nodes: 74, SitePage nodes: 5 (use --verbose for breakdown)
success createPages - 0.041s
success Checking for changed pages - 0.001s
success createPagesStatefully - 0.062s
success update schema - 0.024s
success onPreExtractQueries - 0.003s

 ERROR #85923  GRAPHQL

There was an error in your GraphQL query:

Cannot query field "localFeatureImage" on type "GhostPage".

If you don't expect "localFeatureImage" to exist on the type "GhostPage" it is most likely a typo.
However, if you expect "localFeatureImage" to exist there are a couple of solutions to common problems:

- If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
- The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
- You want to optionally use your field "localFeatureImage" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPage":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions

File: node_modules/@draftbox-co/gatsby-theme-ghost-attila/src/templates/pageTemplate.jsx:347:7

 ERROR #85923  GRAPHQL

There was an error in your GraphQL query:

Cannot query field "localFeatureImage" on type "GhostPost".

If you don't expect "localFeatureImage" to exist on the type "GhostPost" it is most likely a typo.
However, if you expect "localFeatureImage" to exist there are a couple of solutions to common problems:

- If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
- The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
- You want to optionally use your field "localFeatureImage" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPost":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions

File: node_modules/@draftbox-co/gatsby-theme-ghost-attila/src/templates/postTemplate.amp.jsx:112:7

 ERROR #85923  GRAPHQL

There was an error in your GraphQL query:

Cannot query field "localFeatureImage" on type "GhostPost".

If you don't expect "localFeatureImage" to exist on the type "GhostPost" it is most likely a typo.
However, if you expect "localFeatureImage" to exist there are a couple of solutions to common problems:

- If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please try a restart of your development server
- The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL explorer to see which fields you can query and what shape they have
- You want to optionally use your field "localFeatureImage" and right now it is not used anywhere. Therefore Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for "GhostPost":
https://www.gatsbyjs.org/docs/schema-customization/#creating-type-definitions

File: node_modules/@draftbox-co/gatsby-theme-ghost-attila/src/templates/postTemplate.jsx:371:7

failed extract queries from components - 0.480s

Hi @hashtd ,
One of the issues could be there are no featured images in any of your posts on Ghost. Can you send us a minimal reproducible repo to investigate it further.

Similar issue as hashtd. Steps to reproduce: follow the readme exactly as stated.
I did:

gatsby new try-ghost https://github.com/draftbox-co/gatsby-attila-theme-starter
cd try-ghost
gatsby develop
visit site at http://localhost:8000.

Upon visiting http://localhost:8000 I got the following error (Chrome):
"This site can’t be reached
localhost refused to connect."
Another note: As far as I can tell this repo requires Gatsby 2.20.24 for plugins, and<EMAIL_ADDRESS>for other plugins.


v11 Warning - Dependencies -> Relationships

Thank you so much for making this work on v11, love this module!
I'm getting a warning saying:
The module "token-mold" contains "dependencies" which is deprecated in favor of "relationships.requires"
I can see a
"dependencies": [],
under module.json file. I believe just changing it to:
"relationships": [],
will fix the warning. Worked for me. Didn't try removing it, but should work the same way since it's empty.
Cheers!

This is due to backwards compatibility requirements for v9.  It will be fixed in v3 :)


Revisit background detection

The current implementation uses GMM for background detection as proposed in the original DSB data. However, unlike the original DSB data, which has multiple isotype controls and positive signals, we only expect one (or very few) positive signals for hashtagging libraries.
Apart from the fact that we effectively cannot estimate variance for single observations, this part of the algorithm is also the least performant. What are your thoughts on using kmeans or min or others?

Even in the original DSB, one positive signal per protein; the multiple isotype controls are just controls to help in estimating how much variation there is between cells. But as for using kmeans, I think we could try using it to get the cluster centers and use the cluster centers for the background of all cells in the regressing out step (as a predictor of the background noise)


Truncated asset description expansion

There must be a way to see the complete description for an issuance, we need to figure out how...
Looking at the most recent issuance of: https://960.xcp.dev/asset/DANKREKT
data:image/png;base64,iVBORw0KGgoAAAA... is fine as default, but the option to expand must be right there.

Another option is to put a Copy button there that will copy it in the clipboard.
Otherwise we just need a custom component with the show more/less feature and then wrap all these long fields with it.

We will need the custom component it seems. Ideally it should be as automatic as the '...' that are currently added.
The copy button will be super useful! Maybe for this (as part of the custom component), but definitely for other parts of the app.


Editor stuck/bugged when going from a 3D scene to another

(reported by @Jeffroiscool)
Doesn't seem to happen all the time.
video

Couldn't find a way to reproduce after trying hard.
May have been fixed by something else.