VM: qemu-img convert Permission denied

I'm running a CI pipeline in a LXD container. Jobs run in a container or a VM with up to 2 concurrent containers/VMs. Machine/laptop has 4 cores and 16G of RAM, container has 8G. There's a job that has 4 builds in VMs (1G per VM). The third build launches with the below error.
My relatively-uneducated guess points at a race condition or bug in the qemu-img apparmor profile application.
Required information

The Debian host as LXD built from source. The Ubuntu container uses the snap build.

Distribution: host=debian, container=ubuntu
Distribution version: host=bullseye, container=jammy
The output of "lxc info" or if that fails:

config:
  core.proxy_http: https://x.x.x.x:x
  core.proxy_https: https://x.x.x.x:x
  core.trust_password: true
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- snapshot_schedule_aliases
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- container_nic_routed_host_table
- container_nic_ipvlan_host_table
- container_nic_ipvlan_mode
- resources_system
- images_push_relay
- network_dns_search
- container_nic_routed_limits
- instance_nic_bridged_vlan
- network_state_bond_bridge
- usedby_consistency
- custom_block_volumes
- clustering_failure_domains
- resources_gpu_mdev
- console_vga_type
- projects_limits_disk
- network_type_macvlan
- network_type_sriov
- container_syscall_intercept_bpf_devices
- network_type_ovn
- projects_networks
- projects_networks_restricted_uplinks
- custom_volume_backup
- backup_override_name
- storage_rsync_compression
- network_type_physical
- network_ovn_external_subnets
- network_ovn_nat
- network_ovn_external_routes_remove
- tpm_device_type
- storage_zfs_clone_copy_rebase
- gpu_mdev
- resources_pci_iommu
- resources_network_usb
- resources_disk_address
- network_physical_ovn_ingress_mode
- network_ovn_dhcp
- network_physical_routes_anycast
- projects_limits_instances
- network_state_vlan
- instance_nic_bridged_port_isolation
- instance_bulk_state_change
- network_gvrp
- instance_pool_move
- gpu_sriov
- pci_device_type
- storage_volume_state
- network_acl
- migration_stateful
- disk_state_quota
- storage_ceph_features
- projects_compression
- projects_images_remote_cache_expiry
- certificate_project
- network_ovn_acl
- projects_images_auto_update
- projects_restricted_cluster_target
- images_default_architecture
- network_ovn_acl_defaults
- gpu_mig
- project_usage
- network_bridge_acl
- warnings
- projects_restricted_backups_and_snapshots
- clustering_join_token
- clustering_description
- server_trusted_proxy
- clustering_update_cert
- storage_api_project
- server_instance_driver_operational
- server_supported_storage_drivers
- event_lifecycle_requestor_address
- resources_gpu_usb
- clustering_evacuation
- network_ovn_nat_address
- network_bgp
- network_forward
- custom_volume_refresh
- network_counters_errors_dropped
- metrics
- image_source_project
- clustering_config
- network_peer
- linux_sysctl
- network_dns
- ovn_nic_acceleration
- certificate_self_renewal
- instance_project_move
- storage_volume_project_move
- cloud_init
- network_dns_nat
- database_leader
- instance_all_projects
- clustering_groups
- ceph_rbd_du
- instance_get_full
- qemu_metrics
- gpu_mig_uuid
- event_project
- clustering_evacuation_live
- instance_allow_inconsistent_copy
- network_state_ovn
- storage_volume_api_filtering
- image_restrictions
- storage_zfs_export
- network_dns_records
- storage_zfs_reserve_space
- network_acl_log
- storage_zfs_blocksize
- metrics_cpu_seconds
- instance_snapshot_never
- certificate_token
- instance_nic_routed_neighbor_probe
- event_hub
- agent_nic_config
- projects_restricted_intercept
- metrics_authentication
- images_target_project
- cluster_migration_inconsistent_copy
- cluster_ovn_chassis
- container_syscall_intercept_sched_setscheduler
- storage_lvm_thinpool_metadata_size
- storage_volume_state_total
- instance_file_head
- instances_nic_host_name
- image_copy_profile
- container_syscall_intercept_sysinfo
- clustering_evacuation_mode
- resources_pci_vpd
- qemu_raw_conf
- storage_cephfs_fscache
- network_load_balancer
- vsock_api
- instance_ready_state
- network_bgp_holdtime
- storage_volumes_all_projects
- metrics_memory_oom_total
- storage_buckets
- storage_buckets_create_credentials
- metrics_cpu_effective_total
- projects_networks_restricted_access
- storage_buckets_local
- loki
- acme
- internal_metrics
- cluster_join_token_expiry
- remote_token_expiry
- init_preseed
- storage_volumes_created_at
- cpu_hotplug
- projects_networks_zones
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIB/zCCAYSgAwIBAgIRAJV1Z2VlfrMczscSfV9NWqAwCgYIKoZIzj0EAwMwMjEc
    MBoGA1UEChMTbGludXhjb250YWluZXJzLm9yZzESMBAGA1UEAwwJcm9vdEBjaTAx
    MB4XDTIzMDEwMjIxMTYzOFoXDTMyMTIzMDIxMTYzOFowMjEcMBoGA1UEChMTbGlu
    dXhjb250YWluZXJzLm9yZzESMBAGA1UEAwwJcm9vdEBjaTAxMHYwEAYHKoZIzj0C
    AQYFK4EEACIDYgAEIadtPceJQd4giTqrvFyHZ/SCEGN1bCJY+faZO0CBp6ok4dBF
    eAqyeEqQD0oYi4XabyOugRG3msRYqFcS2IxCUR9uGeXdNHd88fI+0nDNbbsnWqm2
    FSWi9j+PqDjX2y8+o14wXDAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYB
    BQUHAwEwDAYDVR0TAQH/BAIwADAnBgNVHREEIDAeggRjaTAxhwR/AAABhxAAAAAA
    AAAAAAAAAAAAAAABMAoGCCqGSM49BAMDA2kAMGYCMQCKOEU0jXyLkeZF1GWQX9hn
    Fx/QR8Oqm4OGpjN6jqGSiH3GA4ZqxdjpKGcde+AkwyoCMQDRsyvEi9zMXKA+pHts
    Ol2goBoFeQnYQWDr2bo2z4VAK8cC+v8n3akhA66z0EWumEk=
    -----END CERTIFICATE-----
  certificate_fingerprint: cc90ddac681b08353ea73cc2432a371bc170385e74b652997e3125c22df3d103
  driver: lxc | qemu
  driver_version: 5.0.1 | 7.1.0
  firewall: nftables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    idmapped_mounts: "false"
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "true"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "false"
  kernel_version: 5.10.0-9-amd64
  lxc_features:
    cgroup2: "true"
    core_scheduling: "true"
    devpts_fd: "true"
    idmapped_mounts_v2: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    pidfd: "true"
    seccomp_allow_deny_syntax: "true"
    seccomp_notify: "true"
    seccomp_proxy_send_notify_fd: "true"
  os_name: Ubuntu
  os_version: "22.04"
  project: default
  server: lxd
  server_clustered: false
  server_event_mode: full-mesh
  server_name: ci01
  server_pid: 638
  server_version: "5.9"
  storage: dir
  storage_version: "1"
  storage_supported_drivers:
  - name: cephfs
    version: 15.2.17
    remote: true
  - name: cephobject
    version: 15.2.17
    remote: true
  - name: dir
    version: "1"
    remote: false
  - name: lvm
    version: 2.03.07(2) (2019-11-30) / 1.02.167 (2019-11-30)
    remote: false
  - name: btrfs
    version: 5.4.1
    remote: false
  - name: ceph
    version: 15.2.17
    remote: true

Issue description
Creating a VM frequently fails when extracting the disk image. Example error:
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/default/virtual-machines/ci-ccb13070-35ea-4681-
8d2a-a6572176a350/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/2cee477c19bb59c0c364a4f92ff910cf0fcdaf99f68232858fe4dd69a78ab8c4
.rootfs /var/snap/lxd/common/lxd/storage-pools/default/virtual-machines/ci-ccb13070-35ea-4681-8d2a-a6572176a350/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/
lxd/storage-pools/default/virtual-machines/ci-ccb13070-35ea-4681-8d2a-a6572176a350/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/default/virtu
al-machines/ci-ccb13070-35ea-4681-8d2a-a6572176a350/root.img': Permission denied)

Steps to reproduce
lxc launch --vm images:debian/bullseye

# alternatively, high cpu load plus
while :; do
        ctn=$(python3 -c 'print(str(__import__("uuid").uuid4()))')
        ctn="ci-${ctn}"
        lxc --debug init images:debian/bullseye --vm "${ctn}"
        lxc delete -f "${ctn}"
done

Information to attach

[ ] Any relevant kernel output (dmesg) none
[ ] Container log (lxc info NAME --show-log) container not created
[ ] Container configuration (lxc config show NAME --expanded) n/a
[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

Please provide the apparmor denial logs from sudo dmesg when this occurs as this will confirm if its apparmor or not.

There are no apparmor denial logs related to this. :/

Having same issue when launching several VM at the same time

Does it happen all the time or only sometimes? And if sometimes, is there a pattern as to when its happening?

Does it happen all the time or only sometimes? And if sometimes, is there a pattern as to when its happening?

As the OP mentioned when running at least 2 concurrent VMs
Not always, but as the number of concurrent VMs increase the number of occurrences of the error does as well

And the VMs are created concurrently?

And the VMs are created concurrently? (as opposed to running concurrently).

Yes

yes, running via launch command

stgraber@dakara:~$ lxc storage create temp dir
Storage pool temp created
stgraber@dakara:~$ for i in $(seq -w 10); do (lxc init images:ubuntu/22.04/cloud test$i --vm --storage temp &); done; wait
stgraber@dakara:~$ Creating test03
Creating test04
Creating test10
Creating test05
Creating test09
Creating test01
Creating test07
Creating test02
Creating test06
Creating test08
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test08/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test08/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test08/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test08/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test01/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test01/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test01/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test01/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test03/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test03/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test03/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test03/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test07/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test07/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test07/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test07/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test09/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test09/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test09/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test09/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test02/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test02/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test02/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test02/root.img': Permission denied)
Error: Failed instance creation: Failed creating instance from image: Failed converting image to raw at "/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test05/root.img": Failed to run: nice -n19 qemu-img convert -f qcow2 -O raw -T none /var/snap/lxd/common/lxd/images/3d43cd552cba560e8f061cbf80d05baf8dd362e629a853c455eb3bc5e26c2fe6.rootfs /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test05/root.img: Process exited with non-zero value 1 (qemu-img: /var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test05/root.img: error while converting raw: Could not create '/var/snap/lxd/common/lxd/storage-pools/temp/virtual-machines/test05/root.img': Permission denied)

This is only a problem here on dir because we need to have concurrent qemu-img runs, which we don't get on anything that's got optimized storage.

@tomponline please assign it to me, I'll have a look


feat: Add notes download?

Hi, would it be possible to add the ability to download SNOTES from the Support Portal? I have an ansible playbook that needs to get the latest compatible OS-release for the respective HANA version (Note 2235581)

@ansibleforsap Yes it would be possible, but the contribution will have to come from the community. See discussion in #15
NOTE: I would recommend you change your handle....

Hmm i see. I am afraid i lack the neccessary skills to implement what you described :/
What's up with my handle? O.o

We can leave this open, I've added a label to do the GH Issue.
Your handle implies you are part of the initiative team, and now you have opened a GH Issue within the GH Org - your handle will appear when people raise new Issues etc.  Changing the handle would avoid that potential outcome, which would potentially spam your email address and also might cause us to miss an end-users help request / comment.


AttributeError: 'int' object has no attribute 'decimal'

I'm getting this output and error both when I try to run your code on my local machine and when I try to run your online demo.
RAW images are taken with a Galaxy S22+
DR=dr-limule-docker-gpu
Non-zero exit code (1): Parameters:

Upscaling factor: 2

Super-resolution with 25 images.

Robustness: enabled
-------------------------
t: 0.12
s1: 2.00
s2: 12.00
Mt: 0.80
Robustness denoising: enabled

Alignment:
-------------------------
ICA Iterations: 3

Fusion:
-------------------------
Kernel shape: handheld
k_stretch: 4.00
k_shrink: 2.00
k_detail: SNR based
k_denoise: SNR based

Processing with handheld super-resolution
Traceback (most recent call last):
File "/workdir/bin//demo.py", line 185, in
handheld_output, debug_dict = process(args.impath, options, params)
File "/workdir/bin/handheld_super_resolution/super_resolution.py", line 360, in process
black_levels = np.array([int(x.decimal()) for x in black_levels.values])
File "/workdir/bin/handheld_super_resolution/super_resolution.py", line 360, in
black_levels = np.array([int(x.decimal()) for x in black_levels.values])
AttributeError: 'int' object has no attribute 'decimal'

Hello, I may have fixed the issue with the last commit: it had something to do the metada format which was slightly different from what we used during testing. The online demo has been updated too.
Please let me know is similar issues are persisting

Running it again and it results in this error:
DR=dr-limule-docker-gpu
Non-zero exit code (1): Parameters:

Upscaling factor: 2

Super-resolution with 25 images.

Robustness: enabled
-------------------------
t: 0.12
s1: 2.00
s2: 12.00
Mt: 0.80
Robustness denoising: enabled

Alignment:
-------------------------
ICA Iterations: 3

Fusion:
-------------------------
Kernel shape: handheld
k_stretch: 4.00
k_shrink: 2.00
k_detail: SNR based
k_denoise: SNR based

Processing with handheld super-resolution
Traceback (most recent call last):
File "/workdir/bin//demo.py", line 185, in
handheld_output, debug_dict = process(args.impath, options, params)
File "/workdir/bin/handheld_super_resolution/super_resolution.py", line 370, in process
ISO = int(str(tags['Image ISOSpeedRatings']))
KeyError: 'Image ISOSpeedRatings'

When I print the list of tags it tells me that the EXIF tag for the ISOSpeedRatings is EXIF ISOSpeedRatings not Image ISOSpeedRatings
After fixing that with a workaround (simply replacing Image with EXIF in that tag) and running it again I get this error:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\USER\\Handheld-Multi-Frame-Super-Resolution\\data\\noise_model_std_ISO_125.npy'

My workaround for this is to simply change line 370 of super_resolution.py from
ISO = max(100, ISO)

to
ISO = max(200, ISO)

After this I run into a CUDA support error as I don't have access to a machine with an NVIDIA GPU at the moment

Thank you for the feedback, I have updated the code so that the ISO can be read more consistently. It should also now be rounded when reading the noise curve, so this type of error should not happen.

Online demo runs successfully, now with good results


Honda Bosch Longitudinal: use clipped actuators.accel for gasbrake lookup

Description Found this while refactoring gasbrake to account for pitch. Changes process replay for one segment. If this is the intended behavior, I'll add a comment in the refactor.
Verification a priori

I wouldn't expect this to make a difference, since the lookup BP don't go past the clipped values. Maybe a rounding error?

Yeah my experiment was tainted, finding another cause for my process replay issue.


TransformerLM.init() missing 1 required positional argument: 'sampling'

Describe the bug
A clear and concise description of what the bug is.
Using the latest cosyvoice code to load the model failed:
TypeError: ('Invalid argument to class cosyvoice.llm.llm.TransformerLM', "TransformerLM.__init__() missing 1 required positional argument: 'sampling'")

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Re-download Model. Try it. work for me.
# SDK模型下载
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')


Huge experimental refactor.

New build system.
Model-logic split for Celerity.
Hot reload support for logic part of Celerity modules.

I'm going to merge this without thorough review as changes are too big and I've been working on these changes for a long time and do not imagine Emergence without them.


[C++][Parquet] Fix override compiler warnings

Reporter: Phillip Cloud / @cpcloud
Note: This issue was originally created as PARQUET-997. Please see the migration documentation for further details.

Wes McKinney / @wesm:
Issue resolved by pull request 338
https://github.com/apache/parquet-cpp/pull/338


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

chore(package): add ^17.0.8 remove ^17.0.7 (devDependencies.semantic-release)

Codecov Report

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

@@           Coverage Diff           @@
##           master     #854   +/-   ##
=======================================
  Coverage   96.22%   96.22%
=======================================
  Files           2        2
  Lines          53       53
  Branches        2        2
=======================================
  Hits           51       51
  Misses          2        2

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 ae2ce49...fe3fa9e. Read the comment docs.


Increase number of streams to SELECT from Merge table

For changelog. Remove if this is non-significant change.
Category (leave one):

Performance Improvement

Short description (up to few sentences):
Increase number of streams to SELECT from Merge table for more uniform distribution of threads. Added setting max_streams_multiplier_for_merge_tables. This fixes #5797

Performance improvement:
x3.91 (0.317 s.) | (0.081 s.)

Almost four times - as expected.


--message-template options not recognized by 1.5.1

Using the --message-template-drain produces error:
Error: unknown flag: --message-template-drain

Even though the README documents it at https://github.com/weaveworks/kured#slack-notifications

Does the README show it for the tag you're running?
I am worried you might be trying a feature that's not yet released.

I don't see message-template-drain in our latest release: https://github.com/weaveworks/kured/blob/1.5.1/README.md

I followed https://github.com/weaveworks/kured/. Wrong assumption on my side then.

@nerijusk I think it's fair to say that it's confusing. It would be good to only expose the options when a released version of kured is out, but it means more work when doing the release (tag, test, publish documentation, change helm chart, publish helm chart). I think it's fair to include documentation when a feature lands in the code branch. WDYT?


No audio cue played when stopping dictation

Testing #207642
I was able to confirm the audio cue on dictation start in editor, terminal and chat but when stopping the dictation no feedback is heard.

Note that sometimes accessibility.signals.voiceRecordingStopped will not play because of a content media policy which blocks media from playing if it wasn't initiated via user gesture (IE within a certain amount of time from the gesture). We cannot fix this, see discussion here https://github.com/microsoft/vscode/issues/178642#issuecomment-1840446946.

also not hearing the stop dictation but not entirely sure if it is possible in the context I tried it in due to the constraints.

If you start/stop it fast enough, you'll hear it. We cannot fix this, see discussion here https://github.com/microsoft/vscode/issues/178642#issuecomment-1840446946.

@meganrogge I am confused why autoplay is involved here, when running the commands to stop dictation or clicking the mic icon in chat to stop dictation can we not use that as top level user gesture and play the audio element on demand ?

@deepak1556 that is a good point. I had implemented this here to avoid calling it in many different places, but maybe I need to do that 🤔 cc @bpasero
https://github.com/microsoft/vscode/blob/9ed28b5d674d01f475c98dd6a77139aaa838f291/src/vs/workbench/contrib/speech/browser/speechService.ts#L157

@bpasero noticed that this is off by default. 🤦♀ @deepak1556 can you repro if you set it to on?


Fix unwanted popup closing by mouse-move while holding mouse-button down

fix #66622
This patch disables, that popups get closed on linuxbsd, when mouse is moved outside of the popup, while a mouse-button is being kept held down.
Updated 2022-11-03: Fix merge conflict

Thanks!


Drop mapbox dependency

Consider moving basemap to Deck.GL raster bitmap layer, drop react-map-gl and mapbox.
Downside - lose potential to have a vector basemap layer. Need to find an open satellite layer.

I've been looking at free satellite imagery alternatives -  seems a bit hard to find. Some options:

Google static API - see https://stackoverflow.com/a/32391908/1478817 - works without any key, but it's a bit unclear whether the usage of this API falls under the Terms of Service rule of no use with non-google apps (outside of google maps client). It does seem popular to include the tiles in leaflet maps. See discussion under SO answer and https://cloud.google.com/maps-platform/terms/ (3.2.3 (e) )
MapTiler / OpenMapTiles satellite data - https://www.maptiler.com/industry/satellite/ - some available for download or through API for free, but the resolution in the preview seems low - need more research
The Copernicus/Sentinel programme provides some satellite imagery - https://scihub.copernicus.eu/ - but need more research to see if it covers Jamaica and whether there is an API or if we'd need to download and preprocess tiles

Thanks for looking into this - there is a Sentinel-2 "cloudless" product from EOX
https://s2maps.eu/ > Click "Explore" then "Download" icon on the left

Option 2 Sentinel-2 cloudless WMTS/WMS Access (forever free)
Alternatively, feel free to download the data as rendered image mosaics directly from the provided service endpoints (WMTS or WMS). You may also use these services directly in your application. Just make sure to follow the license conditions like attribution requirements 2016, 2018, 2019, & 2020 and non-commercial usage (2018, 2019, & 2020). The maximum request size is limited to 4096px, but you may stitch multiple requests to fit your needs.
If you are looking for the original GeoTIFF files from 2016 instead, have a look at this blog post. You may download the data as source GeoTIFFs from the AWS S3 bucket eox-s2maps in the eu-central-1 region. Warning: AWS may charge you for download bandwidth.
Attribution & License
Please follow the attribution requirements.
2018, 2019, and 2020 - Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
2016 - Creative Commons Attribution 4.0 International License

Also, react-map-gl relies on mapbox code for the controls such as ScaleControl etc.
The solution would be to replace mapbox with maplibre but I got stuck with that last time I tried (would have to resurrect the branch to see what the main problem was).


Cannot move problems to the far right of the panel

Issue Type: Bug
Testing https://github.com/microsoft/vscode/issues/96318.

When I grab the Problems tab I cannot move it farther to the right although there are two more views on the panel. How do I do this without resizing my window or playing Towers of Hanoi?
VS Code version: Code - Insiders 1.45.0-insider (4bd206856db30c27d38aa0f1fbe74bac6156edc7, 2020-04-29T05:31:36.229Z)
OS version: Darwin x64 18.7.0

unless I see more issues about this, the cost to fix this is rather high


WIP Allow make to control when generate needs to be called

Remove .PHONY dependency on 'internal' targets
Split generate up into multiple non .PHONY targets
Make generate a dependency of build/dev targets

TODO: Make non user called steps private?
TODO: call make generate on file change detection in fresh? Can't control the calls in fresh, maybe move to something like https://github.com/cespare/reflex ?
Fixes #265

Current coverage is 48.32% (diff: 100%)

Merging #287 into master will not change coverage

@@             master       #287   diff @@
==========================================
  Files            33         33
  Lines          1223       1223
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            591        591
  Misses          592        592
  Partials         40         40

Powered by Codecov. Last update 571d7ff...d271a3b

@aslakknutsen
Should we also have make to control when deps is absolutely needed ? not sure if that would be over-engineering but could come handy whenever the dependencies list is updated, and a make pull is needed ?

@sbose78 hmm.. not sure about glide.yaml vs glide.lock. glide warns about those being out of sync, but they are normally in sync pr PR. It would need to compare the 'vendor/***' folder compared to glide.lock or something, not sure how well that will work.
Maybe just the vendor folders are required, not all files. I'll give it a try

@sbose78 Recreated "deps" target in a similar fashion. No longer any need to call "deps" or "generate",  "build" or "dev" should do.

Looks good @aslakknutsen .
I had another thought unrelated to this issue but related our Makefile.
Should we include clean in make all ?
Currently it has a
.PHONY: all
## Default target - fetch dependencies, generate code and build.
all: prebuild-check deps generate build


About kubenetes standard document.

Do you want to request a feature or report a bug?
feature

What did you do?
The k3s-traefik2.0 document has been published on the official website for more than half a year.
I hope Official release of standard kubenetes related documents

What did you expect to see?
I would like to see traefik2.0 deployment documentation on kubenetes, Rather than rancher/k3s
I don't know.what is k3s?
I'm not sure if this is the same as k8s
I hope Official release of standard kubenetes related documents

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


Not able to run

Getting the following error
><EMAIL_ADDRESS>start
> concurrently "npm run server" "npm run client"

[1]
[1] ><EMAIL_ADDRESS>client
[1] > npx serve -s build
[1]
[0]
[0] ><EMAIL_ADDRESS>server
[0] > node proxy-server.js
[0]
[0] Simple gremlin-proxy server listening on port 3001!
[1] (node:12836) ExperimentalWarning: CommonJS module /usr/local/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /usr/local/lib/node_modules/npm/node_modules/supports-color/index.js using require().
[1] Support for loading ES Module in require() is an experimental feature and might change at any time
[1] (Use `node --trace-warnings ...` to show where the warning was created)
[1] node:internal/modules/cjs/loader:1246
[1]   const err = new Error(message);
[1]               ^
[1]
[1] Error: Cannot find module 'mime-db'
[1] Require stack:
[1] - /Users/thirumal/.npm/_npx/aab42732f01924e5/node_modules/compressible/index.js
[1] - /Users/thirumal/.npm/_npx/aab42732f01924e5/node_modules/compression/index.js
[1]     at Function._resolveFilename (node:internal/modules/cjs/loader:1246:15)
[1]     at Function._load (node:internal/modules/cjs/loader:1072:27)
[1]     at TracingChannel.traceSync (node:diagnostics_channel:322:14)
[1]     at wrapModuleLoad (node:internal/modules/cjs/loader:216:24)
[1]     at Module.require (node:internal/modules/cjs/loader:1337:12)
[1]     at require (node:internal/modules/helpers:139:16)
[1]     at Object.<anonymous> (/Users/thirumal/.npm/_npx/aab42732f01924e5/node_modules/compressible/index.js:16:10)
[1]     at Module._compile (node:internal/modules/cjs/loader:1572:14)
[1]     at Object..js (node:internal/modules/cjs/loader:1709:10)
[1]     at Module.load (node:internal/modules/cjs/loader:1315:32) {
[1]   code: 'MODULE_NOT_FOUND',
[1]   requireStack: [
[1]     '/Users/thirumal/.npm/_npx/aab42732f01924e5/node_modules/compressible/index.js',
[1]     '/Users/thirumal/.npm/_npx/aab42732f01924e5/node_modules/compression/index.js'
[1]   ]
[1] }
[1]
[1] Node.js v23.1.0
[1] npm run client exited with code 1

Hi, I have fixed things here. I'll push some code here which will fix things up


Revokes Jeremy Barlow's access

Friday, July 14th is Jeremy Barlow's last day at Puppet. This pull request removes his public key from /templates/ssh and removes his entry from templates/ssh/authorized_keys. This will ensure that Jeremy's access to infrastructure managed via this module will be revoked.
Please wait until EOD 07/14 to merge.

+1


Add 'since' version to new releases docs

Missing monopackage version in rsp docs

Hahah I know how to code! It was a test :)

Hahah I know how to code! It was a test :)

more worried about your standing as human linter now


fix: Date range value not append properly to formdata

Summary
fix : bug #21
ADO Story or GitHub Issue Link
Date range picker bug : https://github.com/kyndryl-design-system/shidoka-applications/issues/21
Testing Instructions

Go to https://kyndryl-design-system.github.io/shidoka-applications/?path=/story/patterns-forms--default
Enter values inside Date range picker (start & end date)
Hit Submit button
Check console, it appears date range values in formData

Screenshots

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Contains should require comparable, not constraints.Ordered

As stated in the title, Contains should require the type to be comparable and not constraints.Ordered, as it add useless type limitation.
For example this function is not usable with string.

Thanks for pointing this out.🙏
Here is a PR addressing your comment #12


another rename fix

Renames have been a problem for a long time - since the beginning, in fact. The way that dims, vars, and dimscales interact is complex, and renaming can make vars into dimscales, than turn them back to non-dimscales, then back to dimscales again. Each time, dimscales have to be correctly detached and reattached between each dim, and each var that uses that dim.
Renames can be devilishly tricky little blighters!
I did a rename fix that got into 4.6.0, but there were still known rename errors. I was prepared for a major effort to fix the remaining rename issues. I was ready to refactor the whole shebang.
But that turned out not to be necessary. I added one line of code and now all my rename tests work.
I don't promise this is the end of rename bugs. ;-)
Part of #597.

Ok, running through some more @edharnett pulls now that I've cleared up some of the other ones.  Rather than update each one with master and wait for them all to pass CI, going to merge into a batch-merge branch and run them through CI all at once.  Looking at the process from my end, I realize part of what makes that easier for us is that we can do the code review in small per-issue chunks, and avoid the n! cascade of travis ci when combining them.  Going to try to get a few more done tonight while updating the docker images to parse the output from NCO's make test.


Assessment of programming exercises in exam: Tests are not displayed correctly

Describe the bug
An exam with programming exercises has been conducted, for which tests were executed. The results of these tests was also previously shown on the exercise assessment page.
Since today (02 March 2022), (probably with the update to Artemis 5.5.6), the results of the tests are no longer displayed when assessing a programming exercise submission. Instead, only "No graded result" is displayed, see the screenshot below:

Rerunning the tests for the exercise and then reloading the submission assessment page does not change this.
The "submission" overview page of the assessment does however show the test results initially. But, once a submission is opened for assessment, the grading state of that submission is also changed to "No graded result" in the submission overview.

This is a problem because for some exercises the tests already yield some score that then is modified by a human corrector. For this, inspection of the test results is necessary.
To Reproduce

Create exam with programming exercises
conduct exam, run tests
Start assessment of programming exercise submission
See that the test result is displayed as "not graded"

For an example exercise that is affected see here.
Expected behavior
The test results should be visible on the submission assessment view.
Screenshots
No response
What browsers are you seeing the problem on?
Firefox
Additional context
No response
Relevant log output
No response

This issue might affect regular programming exercises as well, but that is not clear.

I was not able to reproduce with a regular programming exercise.
I'll try it with an exam now.

What is the exact configuration of the exercise?
How is the grading of the tests configured?
And have you configured one or two manual corrections?

I think I was able to reproduce:

Exam with a programming exercise
1 correction round
Run tests after due date enabled
Manual correction enabled

Before starting the assessment, the automatic score is shown:

After starting it (but before submitting the assessment), "No graded result is shown":

@krusche @jpbernius @Hialus @sleiss
Thanks for the very quick response and fix!


Support for single adapter object providing multiple builders

Add support for single Adapter providing multiple Builders.
This involves.

Removing global adapterName uniqness. (adapterName, aspectKind) must be unique.
Removing "Kind" property from Adapter proto.
This enables an adapter to assert multiple "Kinds" in the code.

This enables a GCP Adapter to provide builders for multiple GCP Aspects.
The above changes enable code like the following.
adapter/stdioLogger/stdioLogger.go
would like to register -
b := builder{adapter.NewDefaultBuilder(name, desc, conf)}
 r.RegisterLogger(b)
 r.RegisterAccessLogger(b)

instead of
	r.RegisterLogger(builder{adapter.NewDefaultBuilder(
 		"istio/stdioLogger",
 		"Writes structured log entries to a standard I/O stream",
 		&config.Params{},
 	)})
 	r.RegisterAccessLogger(builder{adapter.NewDefaultBuilder(
 		"istio/stdioAccessLogger",
 		"Writes structured access log entries to a standard I/O stream",
 		&config.Params{},
 	)})

After this issue is resolved update adapter/stdioLogger/stdioLogger.go#Register()

Done.

Keeping it open for.
Removing "Kind" property from Adapter proto.

Addressed by new adapter model.


Add more attributes to the Statement class to catch up with the schema definition of the xAPI standard

Currently, only very limited information can be added to the Statement class to be sent to the LRS. For example adding a context attribute or a type property to an activity's description is currently impossible. I wish that the Statement type as well as the SendStatementAsync() method would support this information directly or that one could hand custom constructed JSON to the ExperienceAPIClient.
Examples for the syntax can be found here:
https://xapi.com/blog/deep-dive-verb/
https://xapi.com/blog/deep-dive-activity/

I just realized that this functionality is included in the (advanced mode)[https://rwth-acis.github.io/i5-Toolkit-for-Unity/upm/manual/Experience-API.html#advanced-mode]. Regard this issue as inexistent.


Crashes on iOS 7

Hello and thanks for the calendar component, it's the best i've found for iOS devices.
This component is working properly when i run it on iOS 8 simulator, however, when i try to execute it on my iPod touch with iOS 7 it crashes on the line where it multiplies the value of countOfWeeks * 7. I did notice that on the method monthDateRange (within CVCalendarManager.swift), the value for the range of the month equals to this on iOS 7: range = Optional((2147483647,2147483647)), the strange thing is that on iOS 8 the value is often between 18 and 6. The crash actually happens because the int variable cannot store a number that large.
Before this problem i had another where it crashed setting the value for the calendar variable, again only on iOS 7 and not iOS 8, so i had to change from:
self.calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)
to this declaration:
self.calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)

Hello @gnrsenpai,
Thank you for your investigation on this issue.
There were some transparent changes that brought issues in bridging between iOS 7 and iOS 8. As a result some code doesn't work properly on iOS 7 since it was written using the up-to-date SDK. Anyway it's a good idea to check the system version and initialize the problematic instances properly.
It'll be fixed in the 1.1.0 release. Keep watching!
Regards,
Eugene

I'm not sure CVCalendar is going to support iOS 7. If you need older iOS version support I'd recommend to look into JTCalendar.

i've actually modified a few lines of the library code to make it work on iOS 7, it isn't hard, the NSCalendar variable, for example, has to be initialized with other parameters on iOS 7

Hello @gnrsenpai
I met the same problem with you，I want to know how you solve the problem of adaptation on iOS7？can you help me?

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

I have solved this problem, to Compatible with iOS 7
    let weekOfMonthUnit: NSCalendarUnit
    if #available(iOS 8, *) {
        weekOfMonthUnit = NSCalendarUnit.WeekOfMonth
    } else {
        weekOfMonthUnit = NSCalendarUnit.NSWeekCalendarUnit
    }

    let range = calendar.rangeOfUnit(weekOfMonthUnit, inUnit: MonthUnit, forDate: date)
    let countOfWeeks = range.length

Please do not spam the thread! We'll add iOS 7 support in the upcoming release.

@wishingsky I just deleted the same 25 comments from you. Could you please be more careful if you post something?

Thank you @elsesiy !

@elsesiy   I ‘ m sorry，it’s so slow for the network response,  sorry, my fault

If you need to make it work in IOS 7 but don't like  to use  the   #available(iOS 8, *) tag change these two lines in the CVCalendarManager.monthDateRange:
delete let range = calendar.rangeOfUnit(weekUnit, inUnit: monthUnit, forDate: date)
delete let countOfWeeks = range.length  and
add let countOfWeeks = calendar.components(weekUnit, fromDate: monthEndDate).weekOfMonth
This give the return the  NSCalendarUnit.WeekOfMonth from the monthEndDate that is the is count of weeks in that month.


remove no-op setting enabledInspections

I can't find any reference to enabledInspections in https://github.com/sksamuel/scapegoat (neither on master or in the history). Was this ever wired?

:+1:


Add support for training GPT models on Kubernetes

Adding kubernetes support for preparing datasets and training GPT-based foundation models with NeMo Framework. The kubernetes support creates a Helm chart based off the cluster config settings and each task is launched as a distributed job via Helm. Currently, kubernetes support assumes the following:

Recent versions of the GPU, Network, and Kubeflow Operators are installed.
InfiniBand adapters are labeled as node resources if running multi-node jobs.
The launcher is run from a controller node with access to kubectl and helm and can launch jobs on the cluster.
The controller node has the ability to install various Python dependencies, including Hydra.
All data including the launcher scripts and results/checkpoints will be stored on an NFS filer attached to all nodes.

A new k8s cluster setting and config file have been included to allow jobs to run on specific kubernetes cluster.

@dimapihtar and @maanug-nv can you help to review?

Content looks good to me. Two questions. How would this README content fit into the User Guide that we are also working on, @ericharper ? Also, can we run a CI pipeline on NeMo-CI with the container built using the top of this branch for the launcher, just to ensure existing functionality doesn't break? @dimapihtar could you do that?

yes, that makes sense. I'll do that.

Now including model evaluation on k8s as well.

Removed README in favor of the new documentation updates.


Azure ADDS: Add should be Create

Module: 0`1
Lab/Demo: 01
Task: 2
Step: 1
Description of issue
+Add should be +Create
Repro steps:
Task 2: Deploy an Azure AD DS instance by using the Azure portal
"From your lab computer, in the Azure portal, search for and select Azure AD Domain Services and, from the Azure AD Domain Services blade, select + Add. This will open the Create Azure AD Domain Services blade."
In my blade there is only a '+ Create' button.

Unfortunately this particular interface item has been inconsistent across different blades and, what's more impactful, it has been changing overtime. We are planning to address this once these issues are remediated. In the meantime, pls inform students at the beginning of the course that they might encounter + New, + Add, or + Create across different blades. Fortunately, in this case, the options are rather intuitive
rgds
Marcin


Sorting blocks in draft mode can cause changes on the frontend as it updates the Element_Live table sort value

Module version(s) affected
4.11.0
Description
When re-order the blocks without publishing the page, I would expect no changes to the frontend. So I looked into the sort values in the database and finds out that sorting blocks in draft mode also updates the Element_Live table.
How to reproduce
I have created some dummie data to re-create the bug, before re-ordering
Both Element & Element_Live table look like this

the following data is after moving content block 8,9,10 up below content block 1.
The Element table
Select `ID`, `Title`, `Sort` FROM `Element` ORDER BY `Sort` ASC;

The Element_Live table
Select `ID`, `Title`, `Sort` FROM `Element_Live` ORDER BY `Sort` ASC;

On the front-end, the content block 7 is under content block 10, because they both have the same sort value on the Element_Live table, the next thing it sorts by if they both have the same sort value is the ID, in this case content block 7 has a higher ID than content block 10.
Possible Solution
No response
Additional Context
No response
Validations

[X] Check that there isn't already an issue that reports the same bug
[X] Double check that your reproduction steps work in a fresh installation of silverstripe/installer (with any code examples you've provided)

The reported version is for CMS 4 which is currently only receiving security patches for high and critical vulnerabilities as per our support timeline so we won't look to fix this unless it's still an issue for CMS 5.2 - do you know if it's still an issue in CMS 5.2?

The reported version is for CMS 4 which is currently only receiving security patches for high and critical vulnerabilities as per our support timeline so we won't look to fix this unless it's still an issue for CMS 5.2 - do you know if it's still an issue in CMS 5.2?

I have just replicate this issue on silverstripe-framework: 5.2.8 and silverstripe-element: 5.2.3

Have replicated
It's an issue with the graphql SortBlockMutation, which I think is auto-scaffolded.
We're currently in the process of removing graphql from the CMS for CMS 6.
We shouldn't be spending any time fixing graphql at this point, so the fix here would to copy in the ElementalAreaController::apiSort() method from the relevant CMS 6 PR into CMS 5 and use lib/Backend to fetch from it

@Jianbinzhu The issue is located in ReorderElements:
// Update both the draft and live versions of the records
$tableNames = [$baseTableName];
if (BaseElement::has_extension(Versioned::class)) {
    /** @var BaseElement&Versioned $element */
    $tableNames[] = $element->stageTable($baseTableName, Versioned::LIVE);
}

Looks like this behaviour is intentional although I can't really understand why. Either way you should be able to use Injector to override this class and disable this behaviour so you can at least fix this on your project.

Would someone be willing to raise an RFC on what the future behaviour for this logic should be to better match how users prefer/need the module to behave out-of-the-box?

I'm not sure that an RFC is really something needed here. Draft changes are going straight to live on a versioned dataobject without the user first clicking a publish button.
I think it's fair to assume that content editors would find this to be an unexpected behaviour
I think should just be treated as a regular bug.

I've had a look around at the history of "why" things are like this - the issue is here (as a comment on a related though slightly different original issue) - the code went in this pr and a link was made on that PR to a long research/discussion piece No clear way to handle sorting with versioned object
At the end of that long piece there a Ingo commented that it was "... a long standing issue, which can be remedied from an author perspective by simply publishing everything ..."
After all of that I'm still not quite sure why in elemental it's is directly updating the _Live table though.  I don't think that should be happening.

@Jianbinzhu The issue is located in ReorderElements:
// Update both the draft and live versions of the records
$tableNames = [$baseTableName];
if (BaseElement::has_extension(Versioned::class)) {
    /** @var BaseElement&Versioned $element */
    $tableNames[] = $element->stageTable($baseTableName, Versioned::LIVE);
}

Looks like this behaviour is intentional although I can't really understand why. Either way you should be able to use Injector to override this class and disable this behaviour so you can at least fix this on your project.

@mfendeksilverstripe Looks like disabling this behaviour causes the sort values of the blocks between the Element table and the Element_Live table to be out of sync when the block/page is published. I think we need to re-sync the sort values upon publishing the block/page.
@emteknetnz do you think this is the right approach to this issue? ☝

Yeah those are the lines writing to the live table on a draft save.
I'd expect that you'd simply reduce it to $tableNames = [$baseTableName];.

causes the sort values of the blocks between the Element table and the Element_Live table to be out of sync when the block/page is published

Yeah, that'll happen because only elements that have modified changes will be published.  I think the ReorderElements doesn't actually write new versions, instead it just updates the Sort column directly.  I think you'd need to make other changes to the elements so that they get published on page save so that the new Sort order goes live

I'm guessing that the low-level SQL UPDATE was used to avoid calling write() primarily for performance reasons, but there's no code comments indicating the reasoning.
It's worth noting that GridFieldSortableRows, GridFieldOrderableRows both just loop through all the records and write them, so that versions are handled by the ORM.
SiteTree is a little weird and is probably what motivated the way this is implemented for elemental.
CMSMain only calls write() on the specific record you're dragging, and uses low-level SQL UPDATE for everything else: https://github.com/silverstripe/silverstripe-cms/blob/81bfa84f0a43048668df67afa2018f162cc9115f/code/Controllers/CMSMain.php#L825-L845
This is the same thing elemental does.
The difference is in SiteTree::onAfterPublish() where another low-level SQL UPDATE is run to update all sibling published pages sort values to match their draft values. So publishing one page publishes the sort order for all sibling pages.
Note that there are advantages and disadvantages to both approaches.
If you call write() on all records, you create new version history for all records. This is a little slower but is more correct.
On the other hand, this means you can publish a few records, and revert changes from a few other records, which could result in duplicate sort values across your records.
The way that SiteTree handles this means the version history is slightly incorrect (which is true for elemental right now anyway), but doesn't open itself to the same inconsistencies.

@Jianbinzhu Please test https://github.com/silverstripe/silverstripe-elemental/pull/1234 and see if it fits your needs

@Jianbinzhu Please test #1234 and see if it fits your needs

@GuySartorelli this is working like a gem 😁

Linked PRs have been merged, they will be released in CMS 5.3

@GuySartorelli do we need to consider there might be potentially other changes to the sibling records that we don't want written/published and where a low-level SQL update would be better? That could be the reason why SiteTree does it that way and would be probably also what I would prefer, unless we had a mechanism where we could tell write or publish to only look at certain fields and leave others untouched.


Extension issue

Issue Type: Bug
Extension Name: vscode-graphql
Extension Version: 0.2.2
OS Version: Darwin x64 19.0.0
VSCode version: 1.40.0

:warning: We have written the needed data into your clipboard. Please paste! :warning:

{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 29371,
		"activateCallTime": 12,
		"activateResolvedTime": 1,
		"activationReason": {
			"startup": true,
			"extensionId": {
				"value": "Prisma.vscode-graphql",
				"_lower": "prisma.vscode-graphql"
			},
			"activationEvent": "workspaceContainsTimeout:**/.graphqlconfig,**/.graphqlconfig.yml,**/.graphqlconfig.yaml"
		}
	},
	"runtimeErrors": [
		{
			"name": "Error",
			"message": "Request initialize failed with message: \".graphqlconfig\" file is not available in the provided config directory: /Users/philiphowley/Documents/dev/ucla/online/catchup/catchup-lessons/jquery-api-ajax/catchup-session\nPlease check the config directory."
		}
	]
}

Request initialize failed with message: ".graphqlconfig" file is not available. Do you have a graphql-config file in your project? If yes, please comment here.
The extension only works with a valid graphql-config (2.x) file.

@kingluddite if you're still having this issue, see the updated usage instructions here!
https://github.com/prisma-labs/vscode-graphql#usage


tpl: Change error message on missing resource

I just added a check to see if the argument should be a ResourceTransformer is actually a map[string]interface, which would imply that the resource is missing, and put a more useful error message on that. Fixes #6942

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 All committers have signed the CLA.


Update Rails to latest 5.0.x point release

Puma and Nokogiri too

Damn it, I already PRed this and merged it last week. Closing.


Color::Lcha constructors

Objective

With 0.10.0 the Color enum got an additional Lcha variant but misses function constructors for it similar to Color::rgb(r, g, b)

Solution

Added Color::lch and Color::lcha functions

⚠  There is the PR #8040 which needs to be merged first because of this test and a refactoring in it.

Changelog
Added

Added Color::lch and Color::lcha functions

#8040 is merged now and this is rebased 🌈


Dependency Install Failure on Node v4.2.1 for bufferutil and utf-8-validate

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.2.0-23-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /some-path-here/node_modules/zombie/node_modules/ws/node_modules/utf-8-validate
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing<EMAIL_ADDRESS>npm WARN optional dep failed, continuing<EMAIL_ADDRESS>
bufferutil v1.2.1 doesn't work on node v4.2.1. Needs to be upgraded. See: https://github.com/websockets/bufferutil/issues/22
utf-8-validate v1.2.1 doesn't work on node v4.2.1 yet. See: https://github.com/websockets/utf-8-validate/pull/21

I am also seeing this on osx v10.10.5, xcode 7, node v4.2.1, npm v3.3.8
><EMAIL_ADDRESS>install /Users/jessesanford/workspace/stn_frontend/node_modules/ember-cli/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../../nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t'
      (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const
      qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/bufferutil.cc:7:
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/jessesanford/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/Cellar/node/4.2.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jessesanford/workspace/stn_frontend/node_modules/ember-cli/node_modules/bufferutil
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS><EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN<EMAIL_ADDRESS>Exit status 1

I'm successfully running zombie 4.1.0 using node 4.2.1 and npm 3.3.8 on Ubuntu Precise (12.04).  A key step to getting node 4 working was installing gcc 4.9.  I was running into node module compilation errors prior to upgrading gcc.

Closing. Node 4.x requires newer version of gcc, please make sure you're running the latest.


process is not defined

System Info
win10
"@rspack/plugin-node-polyfill": "^0.2.11"
"@rspack/cli": "^0.2.11"
Details

Reproduce link
No response
Reproduce Steps
npm run serve

This behaves the same as webpack5. See more at https://www.rspack.dev/guide/language-support.html#node-polyfills. Feel free to reopen if you have any further questions.


add: nord theme

Added Nord theme based on Nord palette.

Some "issues" (places where the theme isn't used, probably not the wanted effect). If you need I can open an issue on the app repo.

I've pushed a commit to SourceGit repo: eaf5eba0e7 - ux: using Brush.Popup for menu flyouts.


Validation Error Arising from Label Mismatch between Grounding DINO Detection and Label Studio Configuration

Hello,
I'm currently facing a validation error in my Label Studio project, which seems to stem from a discrepancy between the labels detected by the Grounding DINO model and those defined in my Label Studio configuration.
Label Studio Configuration:
My Label Studio configuration, aimed at classifying various ship types, is as follows:
<View>
  <Image name="image" value="$image" zoom="true" zoomControl="true"/>
  <View className="prompt">
    <TextArea name="prompt" toName="image" editable="true" rows="2" maxSubmissions="1" showSubmitButton="true"/>
  </View>
  <!-- Define the bounding box tool -->
  <RectangleLabels name="bbox" toName="image">
    <Label value="Tug" background="#FFA39E"/>
    <Label value="Container" background="#D4380D"/>
    <Label value="Tanker" background="#FFC069"/>
    <Label value="Bulker" background="#AD8B00"/>
    <Label value="Military" background="#D3F261"/>
    <Label value="Cargo" background="#389E0D"/>
    <Label value="Passenger" background="#5CDBD3"/>
    <Label value="Unknown" background="#096DD9"/>
  </RectangleLabels>
  <BrushLabels name="mask" toName="image">
    <Label value="Tug" background="#FFA39E"/>
    <Label value="Container" background="#D4380D"/>
    <Label value="Tanker" background="#FFC069"/>
    <Label value="Bulker" background="#AD8B00"/>
    <Label value="Military" background="#D3F261"/>
    <Label value="Cargo" background="#389E0D"/>
    <Label value="Passenger" background="#5CDBD3"/>
    <Label value="Unknown" background="#096DD9"/>
  </BrushLabels>
</View>

Issue Description:
The issue emerges when the Grounding DINO model is employed to detect objects that don't precisely align with the class labels specified in the configuration. Specifically, the model is utilized for the identification of generic "boat" objects (including 'boats' and 'containers' as additional examples) during the ship classification task. Following the detection of these objects by Grounding DINO, I manually assign the correct class to these detections from my configured list.
However, this process results in the following validation error in Label Studio:
Validation error 57f5c527-1603-477f-91b8-839ee07b5fb1
These labels still exist in annotations or drafts:
boat (2 drafts)
boats (15 drafts)
containers (1 draft)
Please add labels to tag with name="bbox".

It seems that the 'boat', 'boats', and 'containers' labels, identified by the Grounding DINO model, are not included in the final list of labels and are triggering validation issues due to their absence in the configuration. Complicating matters, these annotations are not visible in the Label Studio interface, posing a direct challenge to rectifying the issue.
Request for Assistance:
I am seeking guidance or solutions to align the labels detected by the Grounding DINO model with the labels defined in my Label Studio configuration and to address the aforementioned validation error. Additionally, any advice on handling annotations that are affecting validation but are not visible within the Label Studio interface would be highly beneficial.
Thank you for your attention to this matter.

Hi, I am facing some validation error issues as well, and it occurs when I want to change the interface/ some fields. Are there any updates or assistance on this?

I have the same issue

seems to be things I wrote as prompt for the backend ML and they stick around somewhere.


want to write example code of drone mission_raw

Hi I would like to run the drone mission with the local position, I use the mission_row i got the unsupported error from it
i set the param as below,
mission_items = []
mission_items.append(MissionItem(0,
1,
16,
1,
1,
float('nan'),
float('nan'),
float('nan'),
float('nan'),
25,
25,
-25,
0))
I am running the simulation with jmavsim
or is there any mission_raw example code like mission , That will me helpful for me as well

Duplicate of https://github.com/mavlink/MAVSDK-Python/issues/549.


Update build.sh

Pretty straight forward I think.

Summary by CodeRabbit

New Features

Introduced new flags for tracking frontend build status for TypeScript and Gleam.
Added a --help option for improved user guidance.

Bug Fixes

Enhanced error handling for invalid frontend options during tests.
Updated test execution logic for better feedback on test outcomes.

Chores

Improved directory creation for generated assets.
Standardised handling of the --quiet flag output.
Streamlined testing process in the GitHub Actions workflow.

@coderabbitai review


Complete RPCNODE docker instance

Added new addnode ip addresses

prod rpcnode is no-go. currently using old prod explorer's rpc api to pull information. testing new addnode ip addresses currently and going well. will be in a PR later.

Closed with this commit


[BUG] LOGIN AND SIGNUP NOT WORKING AS EXPECTED

Description
In backend code, there is validation for mailid and strong password and it does not work here whatever typed is taken as form data success alert is shown
Actual Behavior
Not having proper connection between frontend and backend
Expected Behavior
if the data is not valid then error alert should be shown to the user
Steps to Reproduce (if applicable)

Navigate to login or signup page
enter any value randomly
it will be accepted

Screenshots (if applicable)

I have read the code of conduct.
I am having of experience of working in open source projects priorly So @itsmohit097 please assign this issue to me under label Gssoc24 and level 3

Hello Sir,
My name is Shivam Kanchole, and I am a fourth-year student at IIT Roorkee. I find this issue both interesting and challenging. Additionally, I have worked on similar projects in the past. Could you please assign this issue to me?
Thank you.
Best regards,
Shivam Kanchole


A100 performance regression

Performance on hydro-only 3D problems on a single A100 is now ~160 Mupdates/s, rather than ~250 Mupdates/s found as of the code paper.
Need to automate git bisect to find out when it drops.

On HydroBlast3D on A100, I get:
Performance figure-of-merit: 0.004781215441 μs/zone-update [209.1518385 Mupdates/s]


feat: Allow deployment time selection of logging framework

Depend on slf4j-api instead of the slf4j-jdk14 logging framework. This allows consumers to select their preferred logging framework at deployment time by adding an appropriate SLF4J provider to their runtime classpath.
If no SLF4J provider is available at runtime, no logging output will be produced. The code still functions as expected.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@bestbeforetoday changes look reasonable to me.
You'll need to sign the CLA before we can get this merged in though.

@vbarua Thank you for the quick feedback. I've made another pass to refine the change. I've still left the PR in draft as I need to get a review of the CLA from my employer before I can sign off on it. I'll mark it ready for review once I have that done. In the meantime, and feedback or change suggestions are very welcome.

@vbarua I have rebased on the latest commit and this should be ready for review now.