kvm: correctly set vm cpu topology

Description
Fixes: #6807
When a custom offering is used max vCPU value may differ from the actual vCPU value therefore while applying CPU topology correct value must be used.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

Using a custom constrained offering with CPU range 1-6 and VM deployed with CPU=4
> list serviceofferings id=bbe6c987-b609-42ab-a6a6-9268d8bd35a7
{
  "count": 1,
  "serviceoffering": [
    {
      "cacheMode": "none",
      "cpuspeed": 1000,
      "created": "2022-11-04T07:20:41+0000",
      "defaultuse": false,
      "diskofferingstrictness": false,
      "displaytext": "CustomConstrained",
      "dynamicscalingenabled": true,
      "hasannotations": false,
      "id": "bbe6c987-b609-42ab-a6a6-9268d8bd35a7",
      "iscustomized": true,
      "issystem": false,
      "isvolatile": false,
      "limitcpuuse": false,
      "name": "CustomConstrained",
      "offerha": false,
      "provisioningtype": "thin",
      "rootdisksize": 0,
      "serviceofferingdetails": {
        "maxcpunumber": "6",
        "maxmemory": "4096",
        "mincpunumber": "1",
        "minmemory": "512"
      },
      "storagetype": "shared"
    }
  ]
}

Without changes error is seen,
2022-11-04 08:47:16,533 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) (logid:816a51ed) Manually setting CPU topology on VM's XML, vcpu: 4
2022-11-04 08:47:16,533 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) (logid:816a51ed) Manually setting CPU topology on VM's XML, numCoresPerSocket: 4, sockets: 1
2022-11-04 08:47:16,541 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) (logid:816a51ed) Passed custom disk controller for ROOT disk osdefault
2022-11-04 08:47:16,541 DEBUG [kvm.resource.LibvirtConnection] (agentRequest-Handler-5:null) (logid:816a51ed) Looking for libvirtd connection at: qemu:///system
2022-11-04 08:47:16,542 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Trying to fetch storage pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc from libvirt
2022-11-04 08:47:16,542 DEBUG [kvm.resource.LibvirtConnection] (agentRequest-Handler-5:null) (logid:816a51ed) Looking for libvirtd connection at: qemu:///system
2022-11-04 08:47:16,546 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Successfully refreshed pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc Capacity: (1.9685 TB)<PHONE_NUMBER>208 Used: (117.16 GB)<PHONE_NUMBER>80 Available: (1.8541 TB)<PHONE_NUMBER>128
2022-11-04 08:47:16,547 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Could not find volume 1164448a-d91f-4b44-b30b-efffc92b9be6: Storage volume not found: no storage vol with matching name '1164448a-d91f-4b44-b30b-efffc92b9be6'
2022-11-04 08:47:16,548 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Refreshing storage pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc
2022-11-04 08:47:16,553 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Found volume 1164448a-d91f-4b44-b30b-efffc92b9be6 in storage pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc after refreshing the pool
2022-11-04 08:47:16,556 DEBUG [kvm.resource.LibvirtConnection] (agentRequest-Handler-5:null) (logid:816a51ed) Looking for libvirtd connection at: qemu:///system
2022-11-04 08:47:16,557 DEBUG [utils.script.Script] (agentRequest-Handler-5:null) (logid:816a51ed) Executing: qemu-img info -U /mnt/a02c01cc-8e7c-31cf-8f83-7859fedeb6cc/1164448a-d91f-4b44-b30b-efffc92b9be6
2022-11-04 08:47:16,558 DEBUG [utils.script.Script] (agentRequest-Handler-5:null) (logid:816a51ed) Executing while with timeout : 3600000
2022-11-04 08:47:16,562 DEBUG [utils.script.Script] (agentRequest-Handler-5:null) (logid:816a51ed) Execution is successful.
2022-11-04 08:47:16,562 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) (logid:816a51ed) Passed custom disk controller for ROOT disk osdefault
2022-11-04 08:47:16,563 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) (logid:816a51ed) Passed custom disk controller for ROOT disk osdefault
2022-11-04 08:47:16,563 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Trying to fetch storage pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc from libvirt
2022-11-04 08:47:16,563 DEBUG [kvm.resource.LibvirtConnection] (agentRequest-Handler-5:null) (logid:816a51ed) Looking for libvirtd connection at: qemu:///system
2022-11-04 08:47:16,567 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-5:null) (logid:816a51ed) Successfully refreshed pool a02c01cc-8e7c-31cf-8f83-7859fedeb6cc Capacity: (1.9685 TB)<PHONE_NUMBER>208 Used: (117.19 GB)<PHONE_NUMBER>00 Available: (1.8540 TB)<PHONE_NUMBER>208
2022-11-04 08:47:16,567 DEBUG [kvm.resource.BridgeVifDriver] (agentRequest-Handler-5:null) (logid:816a51ed) nic=[Nic:Guest-null-vlan://1338]
2022-11-04 08:47:16,567 DEBUG [kvm.resource.BridgeVifDriver] (agentRequest-Handler-5:null) (logid:816a51ed) creating a vNet dev and bridge for guest traffic per traffic label cloudbr1
2022-11-04 08:47:16,568 DEBUG [kvm.resource.BridgeVifDriver] (agentRequest-Handler-5:null) (logid:816a51ed) Executing: /usr/share/cloudstack-common/scripts/vm/network/vnet/modifyvlan.sh -v 1338 -p eth1 -b breth1-1338 -o add
2022-11-04 08:47:16,568 DEBUG [kvm.resource.BridgeVifDriver] (agentRequest-Handler-5:null) (logid:816a51ed) Executing while with timeout : 1800000
2022-11-04 08:47:16,603 DEBUG [kvm.resource.BridgeVifDriver] (agentRequest-Handler-5:null) (logid:816a51ed) Execution is successful.
2022-11-04 08:47:16,614 DEBUG [resource.wrapper.LibvirtStartCommandWrapper] (agentRequest-Handler-5:null) (logid:816a51ed) starting i-2-7-VM: <domain type='kvm'>
<name>i-2-7-VM</name>
<uuid>4670a80a-9857-4104-8148-2348cd1fc8ba</uuid>
<description>Other Linux (64-bit)</description>
<cpu><topology sockets='1' cores='4' threads='1' /></cpu><sysinfo type='smbios'>
<system>
<entry name='manufacturer'>Apache Software Foundation</entry>
<entry name='product'>CloudStack KVM Hypervisor</entry>
<entry name='uuid'>4670a80a-9857-4104-8148-2348cd1fc8ba</entry>
</system>
</sysinfo>
<os>
<type  arch='x86_64' machine='pc'>hvm</type>
<boot dev='cdrom'/>
<boot dev='hd'/>
<smbios mode='sysinfo'/>
</os>
<on_reboot>restart</on_reboot>
<on_poweroff>destroy</on_poweroff>
<on_crash>destroy</on_crash>
<memory>2097152</memory>
<currentMemory>2097152</currentMemory>
<maxMemory slots='16' unit='KiB'>4194304</maxMemory>
<cpu> <numa> <cell id='0' cpus='0-5' memory='2097152' unit='KiB'/> </numa> </cpu>
<devices>
<memballoon model='virtio'/>
</devices>
<vcpu current="4">6</vcpu>
<features>
<pae/>
<apic/>
<acpi/>
</features>
<cputune>
<shares>2000</shares>
</cputune>
<clock offset='utc'>
</clock>
<devices>
<emulator></emulator>
<watchdog model='i6300esb' action='none'/>
<console type='pty'>
<target port='0'/>
</console>
<disk  device='disk' type='file'>
<driver name='qemu' type='qcow2' cache='none' />
<source file='/mnt/a02c01cc-8e7c-31cf-8f83-7859fedeb6cc/1164448a-d91f-4b44-b30b-efffc92b9be6'/>
<target dev='hda' bus='ide'/>
<serial>1164448ad91f4b44b30b</serial></disk>
<disk  device='cdrom' type='file'>
<driver name='qemu' type='raw' />
<source file=''/>
<target dev='hdc' bus='ide'/>
</disk>
<serial type='pty'>
<target port='0'/>
</serial>
<graphics type='vnc' autoport='yes' listen='<IP_ADDRESS>' passwd='AgnwUip3'/>
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/i-2-7-VM.org.qemu.guest_agent.0'/>
<address type='virtio-serial'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
<input type='tablet' bus='usb'/>
<interface type='bridge'>
<source bridge='breth1-1338'/>
<mac address='02:00:75:25:00:05'/>
<model type='e1000'/>
<bandwidth>
<inbound average='25600' peak='25600'/>
<outbound average='25600' peak='25600'/>
</bandwidth>
<link state='up'/>
</interface>
</devices>
</domain>

2022-11-04 08:47:16,616 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-5:null) (logid:816a51ed) Groovy script '/etc/cloudstack/agent/hooks/libvirt-vm-xml-transformer.groovy' is not available. Transformations will not be applied.
2022-11-04 08:47:16,616 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-5:null) (logid:816a51ed) Groovy scripting engine is not initialized. Data transformation skipped.
2022-11-04 08:47:16,618 WARN  [resource.wrapper.LibvirtStartCommandWrapper] (agentRequest-Handler-5:null) (logid:816a51ed) LibvirtException
org.libvirt.LibvirtException: unsupported configuration: CPU topology doesn't match maximum vcpu count
	at org.libvirt.ErrorHandler.processError(Unknown Source)
	at org.libvirt.ErrorHandler.processError(Unknown Source)
	at org.libvirt.Connect.domainCreateXML(Unknown Source)
	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1799)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:89)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:49)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1831)
	at com.cloud.agent.Agent.processRequest(Agent.java:660)
	at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1080)
	at com.cloud.utils.nio.Task.call(Task.java:83)
	at com.cloud.utils.nio.Task.call(Task.java:29)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

With changes, VM deployment work okay,
2022-11-04 09:18:19,418 DEBUG [resource.wrapper.LibvirtStartCommandWrapper] (agentRequest-Handler-3:null) (logid:755656be) starting i-2-8-VM: <domain type='kvm'>
<name>i-2-8-VM</name>
<uuid>c59796a0-5bc7-49f2-91a4-8bc88c8a42c5</uuid>
<description>Other Linux (64-bit)</description>
<cpu><topology sockets='1' cores='6' threads='1' /></cpu><sysinfo type='smbios'>
<system>
<entry name='manufacturer'>Apache Software Foundation</entry>
<entry name='product'>CloudStack KVM Hypervisor</entry>
<entry name='uuid'>c59796a0-5bc7-49f2-91a4-8bc88c8a42c5</entry>
</system>
</sysinfo>
<os>
<type  arch='x86_64' machine='pc'>hvm</type>
<boot dev='cdrom'/>
<boot dev='hd'/>
<smbios mode='sysinfo'/>
</os>
<on_reboot>restart</on_reboot>
<on_poweroff>destroy</on_poweroff>
<on_crash>destroy</on_crash>
<memory>2146304</memory>
<currentMemory>2146304</currentMemory>
<maxMemory slots='16' unit='KiB'>4194304</maxMemory>
<cpu> <numa> <cell id='0' cpus='0-5' memory='2146304' unit='KiB'/> </numa> </cpu>
<devices>
<memballoon model='virtio'/>
</devices>
<vcpu current="4">6</vcpu>
<features>
<pae/>
<apic/>
<acpi/>
</features>
<cputune>
<shares>2000</shares>
</cputune>
<clock offset='utc'>
</clock>
<devices>
<emulator></emulator>
<watchdog model='i6300esb' action='none'/>
<console type='pty'>
<target port='0'/>
</console>
<disk  device='disk' type='file'>
<driver name='qemu' type='qcow2' cache='none' />
<source file='/mnt/a02c01cc-8e7c-31cf-8f83-7859fedeb6cc/ddd05d24-63d9-4f77-8c3a-48f3175dc862'/>
<target dev='hda' bus='ide'/>
<serial>ddd05d2463d94f778c3a</serial></disk>
<disk  device='cdrom' type='file'>
<driver name='qemu' type='raw' />
<source file=''/>
<target dev='hdc' bus='ide'/>
</disk>
<serial type='pty'>
<target port='0'/>
</serial>
<graphics type='vnc' autoport='yes' listen='<IP_ADDRESS>' passwd='Rq1gXkBI'/>
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/i-2-8-VM.org.qemu.guest_agent.0'/>
<address type='virtio-serial'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
<input type='tablet' bus='usb'/>
<interface type='bridge'>
<source bridge='breth1-1338'/>
<mac address='02:00:28:1e:00:06'/>
<model type='e1000'/>
<bandwidth>
<inbound average='25600' peak='25600'/>
<outbound average='25600' peak='25600'/>
</bandwidth>
<link state='up'/>
</interface>
</devices>
</domain>

2022-11-04 09:18:19,565 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-3:null) (logid:755656be) Groovy script '/etc/cloudstack/agent/hooks/libvirt-vm-xml-transformer.groovy' is not available. Transformations will not be applied.
2022-11-04 09:18:19,565 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-3:null) (logid:755656be) Groovy scripting engine is not initialized. Data transformation skipped.
2022-11-04 09:18:20,113 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-3:null) (logid:755656be) Groovy script '/etc/cloudstack/agent/hooks/libvirt-vm-state-change.groovy' is not available. Transformations will not be applied.
2022-11-04 09:18:20,113 WARN  [kvm.resource.LibvirtKvmAgentHook] (agentRequest-Handler-3:null) (logid:755656be) Groovy scripting engine is not initialized. Data transformation skipped.
2022-11-04 09:18:20,113 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) (logid:755656be) Checking default network rules for vm i-2-8-VM
2022-11-04 09:18:20,125 DEBUG [cloud.agent.Agent] (agentRequest-Handler-3:null) (logid:755656be) Seq 2-128634064356769805:  { Ans: , MgmtId:<PHONE_NUMBER>1733, via: 2, Ver: v1, Flags: 10, [{"com.cloud.agent.api.StartAnswer":{"vm":{"id":"8","name":"i-2-8-VM","state":"Starting","type":"User","cpus":"4","minSpeed":"500","maxSpeed":"1000","minRam":"(2.05 GB)<PHONE_NUMBER>","maxRam":"(4.00 GB)<PHONE_NUMBER>","arch":"x86_64","os":"Other Linux (64-bit)","platformEmulator":"Other Linux","bootArgs":"","enableHA":"false","limitCpuUse":"false","enableDynamicallyScaleVm":"true","vncPassword":"Rq1gXkBImi2baAC2zT9e8w","vncAddr":"<IP_ADDRESS>","params":{"cpuNumber":"4","deployvm":"true","memory":"2096","memoryOvercommitRatio":"1.0","Message.ReservedCapacityFreed.Flag":"false","cpuOvercommitRatio":"2.0","rootDiskController":"osdefault"},"uuid":"c59796a0-5bc7-49f2-91a4-8bc88c8a42c5","enterHardwareSetup":"false","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"ddd05d24-63d9-4f77-8c3a-48f3175dc862","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"a02c01cc-8e7c-31cf-8f83-7859fedeb6cc","name":"ref-trl-3660-k-M7-abhishek-kumar-kvm-pri1","id":"1","poolType":"NetworkFilesystem","host":"<IP_ADDRESS>","path":"/acs/primary/ref-trl-3660-k-M7-abhishek-kumar/ref-trl-3660-k-M7-abhishek-kumar-kvm-pri1","port":"2049","url":"NetworkFilesystem://<IP_ADDRESS>/acs/primary/ref-trl-3660-k-M7-abhishek-kumar/ref-trl-3660-k-M7-abhishek-kumar-kvm-pri1/?ROLE=Primary&STOREUUID=a02c01cc-8e7c-31cf-8f83-7859fedeb6cc","isManaged":"false"}},"name":"ROOT-8","size":"(50.00 MB) 52428800","path":"ddd05d24-63d9-4f77-8c3a-48f3175dc862","volumeId":"8","vmName":"i-2-8-VM","accountId":"2","format":"QCOW2","provisioningType":"THIN","poolId":"1","id":"8","deviceId":"0","bytesReadRate":"(0 bytes) 0","bytesWriteRate":"(0 bytes) 0","iopsReadRate":"(0 bytes) 0","iopsWriteRate":"(0 bytes) 0","cacheMode":"NONE","hypervisorType":"KVM","directDownload":"false","deployAsIs":"false"}},"diskSeq":"0","path":"ddd05d24-63d9-4f77-8c3a-48f3175dc862","type":"ROOT","_details":{"storageHost":"<IP_ADDRESS>","managed":"false","storagePort":"2049","storage.pool.disk.wait":"60","volumeSize":"(50.00 MB) 52428800"}},{"data":{"org.apache.cloudstack.storage.to.TemplateObjectTO":{"id":"0","format":"ISO","accountId":"0","hvm":"false","bootable":"false","directDownload":"false","deployAsIs":"false"}},"diskSeq":"3","type":"ISO"}],"nics":[{"deviceId":"0","networkRateMbps":"200","defaultNic":"true","pxeDisable":"false","nicUuid":"65f2a4aa-8e3f-4e18-9411-2d79abe016dd","details":{"MacAddressChanges":"true","ForgedTransmits":"true","PromiscuousMode":"false","MacLearning":"false"},"dpdkEnabled":"false","uuid":"09a0f9b8-b309-4875-ae7c-106125854224","mac":"02:00:28:1e:00:06","dns1":"<IP_ADDRESS>","dns2":"<IP_ADDRESS>","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://1338","isolationUri":"vlan://1338","isSecurityGroupEnabled":"false","name":"cloudbr1"}],"vcpuMaxLimit":"6","configDriveLocation":"SECONDARY","guestOsDetails":{},"extraConfig":{}},"result":"true","wait":"0","bypassHostMaintenance":"false"}}] }

VM successfully deployed with the following XML def,
# virsh dumpxml i-2-8-VM
<domain type='kvm' id='3'>
  <name>i-2-8-VM</name>
  <uuid>c59796a0-5bc7-49f2-91a4-8bc88c8a42c5</uuid>
  <description>Other Linux (64-bit)</description>
  <maxMemory slots='16' unit='KiB'>4194304</maxMemory>
  <memory unit='KiB'>2146304</memory>
  <currentMemory unit='KiB'>2146304</currentMemory>
  <vcpu placement='static' current='4'>6</vcpu>
  <cputune>
    <shares>2000</shares>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>Apache Software Foundation</entry>
      <entry name='product'>CloudStack KVM Hypervisor</entry>
      <entry name='uuid'>c59796a0-5bc7-49f2-91a4-8bc88c8a42c5</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
    <smbios mode='sysinfo'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>qemu64</model>
    <topology sockets='1' cores='6' threads='1'/>
...

@blueorangutan package

@shwstppr a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

code lgtm

code lgtm

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. LL-JID 193

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-31)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43098 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6870-t31-kvm-centos7.zip
Smoke tests completed. 98 look OK, 3 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_upgrade_kubernetes_ha_cluster
Failure
677.70
test_kubernetes_clusters.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
426.29
test_vpc_redundant.py

test_01_redundant_vpc_site2site_vpn
Failure
756.25
test_vpc_vpn.py

test_01_vpc_site2site_vpn_multiple_options
Error
1273.10
test_vpc_vpn.py

test_01_vpc_site2site_vpn
Error
563.87
test_vpc_vpn.py

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@shwstppr @DaanHoogland Finally was able to build from source, install and test in our testing environment.
I can confirm it's working.
Many thanks for your efforts on this one!

@blueorangutan package

@shwstppr a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-5521)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41701 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6870-t5521-kvm-centos7.zip
Smoke tests completed. 100 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_invalid_upgrade_kubernetes_cluster
Failure
15.77
test_kubernetes_clusters.py

test_02_upgrade_kubernetes_cluster
Failure
3.28
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
3617.24
test_kubernetes_clusters.py

test_08_upgrade_kubernetes_ha_cluster
Failure
0.05
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

ContextSuite context=TestKubernetesCluster>:teardown
Error
76.46
test_kubernetes_clusters.py

merging as @StepBee approves as well: https://github.com/apache/cloudstack/pull/6919#issuecomment-1352973762


Terraform Cloud Foundry GPaas

Changes in this PR

Adds a Terraform backend using S3
Adds the cloudfoundry provider
Adds intial Readme for Terraform usage

Should this have an accompanying ADR (or two)?


Site is Down

15 Mins. CloudFlare can't show it. They did not cache it probably.

Rackspace has an outage at their entire DFW datacenter, and that is impacting the foundation docs and marketing sites.  We'll have them back up as soon as we can.

Almost 2 hours. Still down.

Everything appears to be up and running again so closing this.

Why this things happening? This is not the first time i come across.


fix(formatter/typstfmt): fix naming inconsistencies of typstfmt

Well, I had not renamed typst to typstfmt everywhere.
This patch ensures the formatter is correctly named typstfmt.

These are just doc changes which you don't really need to do. I will run the doc gen to generate them. Will have to figure a way on how to do this on new tool addition 🤔

Ref: ff84e0402907f9557778bd6cb32f9d5b1552ffaf

Thanks @creativenull !


Ability to show / filter only Swift Packages and templates

I want to see only templates and packed that are created or supported by Swift.

Pretty sure we're never going to do this so I'm just going to go ahead and close this. Sorry, not trying to be a jerk or anything, just want to keep the issue list clean.

:+1: Sure, I understand. Thanks for taking your time and replying :)


Package installation is failed

Hello, I'd like to test this study builder UI, but I'm facing a problem.
Based on your README, I ran "npm install" command in SDR-WebApp directory.
But, installation was failed by some errors as bellow.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/rxjs
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>|| ^7.4.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@angular/cdk
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@angular/material
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   8 more (@angular/common, @angular/core, @angular/forms, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@azure/msal-angular
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/rxjs
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@azure/msal-angular
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

I tried "main" and "release" branches, but I got same error.
Do you have some solutions ?
My environment:

Windows 10
npm -v >> 9.5.1
node -v >> v18.16.0

@seyama-daisuke : Thank you for reaching out to SDR Team. Please find a ticket we have raised in the SDR Support repo for your query. https://github.com/transcelerate/ddf-sdr-support/issues/38
We shall correspond on this in the above ticket. Please feel free to also reach out to us on<EMAIL_ADDRESS>For future support tickets you can raise issues here

@seyama-daisuke The ticket https://github.com/transcelerate/ddf-sdr-support/issues/38 has been updated with steps to overcome issue faced during npm install.

As commented bellow, this issue has been resolved by W.A.
Thank you.
https://github.com/transcelerate/ddf-sdr-support/issues/38#issuecomment-1618287887


Replace babel to swc

Replace babel to swc. Since swc fix loose mode issue, we can replace babel to swc.

Speed up building process:

b:module: Reduced from 14 seconds to 6 seconds
b:umd: Reduced from 18 seconds to 6 seconds

Codecov Report
Base: 44.05% // Head: 36.65% // Decreases project coverage by -7.41% :warning:

Coverage data is based on head (ba01f37) compared to base (6318071).
Patch coverage: 100.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1358      +/-   ##
==========================================
- Coverage   44.05%   36.65%   -7.41%
==========================================
  Files         349      346       -3
  Lines       18844    16534    -2310
  Branches     2670     2476     -194
==========================================
- Hits         8302     6060    -2242
- Misses       9858     9920      +62
+ Partials      684      554     -130

Impacted Files
Coverage Δ

packages/loader/src/gltf/GLTFUtil.ts
0.44% <100.00%> (-7.82%)
:arrow_down:

...ages/loader/src/gltf/extensions/ExtensionParser.ts
0.00% <0.00%> (-80.00%)
:arrow_down:

packages/core/src/RenderPipeline/RenderContext.ts
37.50% <0.00%> (-62.50%)
:arrow_down:

packages/physics-lite/src/LitePhysicsMaterial.ts
0.00% <0.00%> (-61.54%)
:arrow_down:

packages/core/src/animation/StateMachineScript.ts
0.00% <0.00%> (-58.34%)
:arrow_down:

packages/core/src/shader/ShaderUniformBlock.ts
0.00% <0.00%> (-50.00%)
:arrow_down:

...kages/core/src/RenderPipeline/TextRenderElement.ts
0.00% <0.00%> (-50.00%)
:arrow_down:

...s/core/src/animation/internal/AnimatorStateData.ts
0.00% <0.00%> (-50.00%)
:arrow_down:

...re/src/animation/internal/AnimationEventHandler.ts
0.00% <0.00%> (-50.00%)
:arrow_down:

packages/physics-lite/src/LiteDynamicCollider.ts
0.00% <0.00%> (-48.84%)
:arrow_down:

... and 327 more

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

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


[Crash] Unfixable conflicts

I cannot launch the game with BetterEnd 1.0.0 - 1.0.2.
[00:05:13] [main/INFO] (FabricLoader/GameProvider) Loading Minecraft 1.18.1 with Fabric Loader 0.12.12
[00:05:13] [main/INFO] (FabricLoader) Loading 58 mods:
	- bclib 1.3.0
	- betterend 1.0.2
	- cloth-basic-math 0.6.0
	- cloth-config 6.1.48
	- connectiblechains 2.1.0
	- fabric 0.46.4+1.18
	- fabric-api-base 0.4.1+b4f4f6cdc8
	- fabric-api-lookup-api-v1 1.5.0+17be577f65
	- fabric-biome-api-v1 6.0.1+ded849a965
	- fabric-blockrenderlayer-v1 1.1.9+3ac43d9565
	- fabric-command-api-v1 1.1.6+3ac43d9565
	- fabric-commands-v0 0.2.5+b4f4f6cd65
	- fabric-containers-v0 0.1.18+d154e2c665
	- fabric-content-registries-v0 0.4.5+6f53a73d65
	- fabric-crash-report-info-v1 0.1.8+3ac43d9565
	- fabric-data-generation-api-v1 1.1.1+9b1557c165
	- fabric-dimensions-v1 2.1.9+a1d9bbf565
	- fabric-entity-events-v1 1.4.5+6b21378a65
	- fabric-events-interaction-v0 0.4.16+bfa23f1765
	- fabric-events-lifecycle-v0 0.2.6+b4f4f6cd65
	- fabric-game-rule-api-v1 1.0.10+3ac43d9565
	- fabric-gametest-api-v1 1.0.7+c5d03bcd65
	- fabric-item-api-v1 1.3.0+691a79b565
	- fabric-item-groups-v0 0.3.3+3ac43d9565
	- fabric-key-binding-api-v1 1.0.8+c8aba2f365
	- fabric-keybindings-v0 0.2.6+b4f4f6cd65
	- fabric-lifecycle-events-v1 1.4.10+c15ca33565
	- fabric-loot-tables-v1 1.0.8+3ac43d9565
	- fabric-mining-level-api-v1 1.0.3+3ac43d9565
	- fabric-mining-levels-v0 0.1.8+b4f4f6cd65
	- fabric-models-v0 0.3.3+3ac43d9565
	- fabric-networking-api-v1 1.0.18+3ac43d9565
	- fabric-networking-v0 0.3.5+b4f4f6cd65
	- fabric-object-builder-api-v1 1.11.1+3b82842e65
	- fabric-object-builders-v0 0.7.9+3ac43d9565
	- fabric-particles-v1 0.2.9+526dc1ac65
	- fabric-registry-sync-v0 0.9.0+befed49e65
	- fabric-renderer-api-v1 0.4.9+3ac43d9565
	- fabric-renderer-indigo 0.4.12+3ac43d9565
	- fabric-renderer-registries-v1 3.2.7+b4f4f6cd65
	- fabric-rendering-data-attachment-v1 0.3.4+7242e9d765
	- fabric-rendering-fluids-v1 0.1.18+3ac43d9565
	- fabric-rendering-v0 1.1.9+b4f4f6cd65
	- fabric-rendering-v1 1.10.3+6b21378a65
	- fabric-resource-conditions-api-v1 1.0.2+d7c144a865 via fabric
	- fabric-resource-loader-v0 0.4.11+3ac43d9565
	- fabric-screen-api-v1 1.0.7+3ac43d9565
	- fabric-screen-handler-api-v1 1.1.11+3ac43d9565
	- fabric-structure-api-v1 2.0.8+295197a765
	- fabric-tag-extensions-v0 1.2.5+3ac43d9565
	- fabric-textures-v0 1.0.9+3ac43d9565
	- fabric-tool-attribute-api-v1 1.3.5+fb3b57b465
	- fabric-transfer-api-v1 1.5.6+b4f4f6cd65
	- fabricloader 0.12.12
	- java 17
	- minecraft 1.18.1
	- modmenu 3.0.1
	- notenoughcrashes 4.1.3+1.18
Mapping target name conflicts detected:
  METHODs ru/betterend/rituals/InfusionRitual/[net/minecraft/class_2586/method_5431, markDirty]()V -> markDirty
There were unfixable conflicts.
[00:05:18] [main/ERROR] (FabricLoader) Uncaught exception in thread "main"
 java.lang.RuntimeException: Failed to remap mods
	at net.fabricmc.loader.impl.discovery.RuntimeModRemapper.remap(RuntimeModRemapper.java:167) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.FabricLoaderImpl.setup(FabricLoaderImpl.java:256) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:187) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:142) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) ~[dev-launch-injector-0.2.1+build.8.jar:?]
Caused by: java.lang.RuntimeException: Unfixable conflicts
	at net.fabricmc.tinyremapper.TinyRemapper.handleConflicts(TinyRemapper.java:851) ~[tiny-remapper-0.6.0.jar:0.6.0]
	at net.fabricmc.tinyremapper.TinyRemapper.propagate(TinyRemapper.java:751) ~[tiny-remapper-0.6.0.jar:0.6.0]
	at net.fabricmc.tinyremapper.TinyRemapper.mrjRefresh(TinyRemapper.java:1030) ~[tiny-remapper-0.6.0.jar:0.6.0]
	at net.fabricmc.tinyremapper.TinyRemapper.apply(TinyRemapper.java:882) ~[tiny-remapper-0.6.0.jar:0.6.0]
	at net.fabricmc.loader.impl.discovery.RuntimeModRemapper.remap(RuntimeModRemapper.java:115) ~[fabric-loader-0.12.12.jar:?]
	... 6 more
Disconnected from the target VM, address: '<IP_ADDRESS>:55747', transport: 'socket'

Process finished with exit code 1

As you can see I only have the required dependencies, connectiblechains and notenoughcrashes loaded. I was also launching the game in from IDEA as I am trying to add compatibility to connectiblechains with your mod.

Make sure the Bclib version is compatible with the particular betterend version.

Better End requires version 1.3.0 of bclib which is what I have

java.lang.RuntimeException: Unfixable conflicts
at net.fabricmc.tinyremapper.TinyRemapper.handleConflicts

Looks like your Fabric installation fails to remap mods, you can try to re-install it

I'll try but it works with any other mod, even Better Nether

I've deleted my bin, build, .grade and run/.fabric folders and ran 'Clear Caches' in IDEA but I am still getting the same error,

i have the same issue

What mappings are you using?

yarn 1.18.1+build.22

let me check

same

You can try mojmap, I think this can be a remapper issue due to mappings difference.
You can also try to use mod without remapping (loading in mods folder)

You can try mojmap, I think this can be a remapper issue due to mappings difference. You can also try to use mod without remapping (loading in mods folder)

thats where the issue arises from, i keep asking on the discord how to use the dev version in ide but so far ive gotten no one to answer me

how to use the dev version in ide

You can load it as a jar file using gradle, for example

You can load it as a jar file using gradle, for example

that was via
flatDir {
dirs 'libs'
}
and in dependencys section
runtimeOnly fileTree('libs') { include '*.jar' }
with the devs in the libs folder correct?

Yes. this should work

I'm a little confused right now, I wasn't trying to use BetterEnd as a dependency, I just placed it into my ./run/mods/ folder. Why should I have to add it as a runtimeOnly dependency?

The mixins like to crash and burn when being used as a mod in the mods folder due to mapping differences

No idea why that is, it shouldnt, but they do
Mods from mod folder are remapped during runtime, if mappings are different - they can crash too. I'm not sure what causing this, some mods will work fine, some not

Prolly just some wierdness in mapping matching or missing maping

This method needs renaming to fix devlaunch in yarn environment: https://github.com/paulevsGitch/BetterEnd/blob/4e008ab20892e28400cfbc9f856b2a7ce1e36d8b/src/main/java/ru/betterend/rituals/InfusionRitual.java#L231

Markdirty... What a name

Same name as vanilla class uses in other mappings

Should be fixed in 1.0.3. Please reopen if you are still having issues.


Nav Bar is not looking proper

I want to contribute in this project . And i can beautify the navbar. so plss assign me the task.

@goodchai0 please assign me this issue


Implement Webhook resource

Add REST routes for webhooks
Add ModifyWebhookPayload and ExecuteWebhookPayload to handle nil
Create webhook struct mapping in separate file
Check for response on execute_webhook if wait is true

Would you be interested in implementing the gateway event for webhooks too?
Docs: WEBHOOKS_UPDATE
To be added to Client#handle_dispatch

travis: ./deploy.sh: line 15: [: missing ]'`


Fixed #24603 - Allowed Context.update() to be used as a context manager.

This changed Context.update() to act similarly to Context.push() when used as a
context manager.

buildbot, add to whitelist.

merged in 6bfd864ff2a7d4903d485ee40094a1315da8221b, thanks!


Walkthrough - Train

[x] Transcription models
[x] Segmentation models

Use https://lectaurep.hypotheses.org/documentation/escriptorium-tutorial-en as a basis

fixed with #56!


[Bug]: modules are not shown in the 'Add Module' menu

Describe the Bug
It appears that the modules do not exist in the menu where you would add modules to the GUI.
Steps to Reproduce
Delete a module and then try to add it back in using 'Add Module'
The only available option is 'Separator'
Expected Behavior
To be able to add a deleted module back into the list of enabled modules.
Screenshots

Modloader Type
Fabric
Modloader Version
0.14.9
Mod Version
1.3.2
Log Output
No response
Additional Context
No response

I see where the confusion comes from. When on that screen, it autofills with the separator module because it is the most common module to add. Simply delete the autofilled text and replace it with the module you would like to add.


Add links to the specific tasks.

Helps #3268

@MarkIannucci : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; fixed links.


{Freeway-Bug}[Settings]: Contrast ratio for 'Selected' list-item is '1.37:1' with it's background, on activating 'Save' or 'Discard changes' buttons.

Windows Terminal version
1.18.902.0
Windows build number
23031.1000
Other Software
Test environment:
OS: Version 22H2 (OS build 23031.1000)
Application: Windows Terminal
Tool: accessibility insights for windows
Steps to reproduce
Repro steps:

Open the 'windows terminal' application.
Log in with valid credentials.
Now open the 'Settings' using 'Ctrl+,' (Key may varies from user to user).
Navigate to any of the list-item excluding profiles & select it.
Change the settings & activate 'Save' or 'Discard changes' buttons.
Open accessibility insights for windows & verify the contrast ratio of the selected list-item with the background.

Observation: Issue repro only on activating 'Save' or 'Discard changes' buttons.
User experience:
Users with low vision will feel difficulty in recognizing the text, if contrast ratio is less than '4.5:1' with the background.
Guideline reference:
https://www.w3.org/TR/WCAG21/#contrast-minimum
Attachment:
Contrast ratio fails for the selected list item, on activating 'Save' or 'discard changes' buttons..zip
Expected Behavior
Contrast ratio for 'Selected' list-item should be greater than or equal to '4.5:1' with it's background, on activating 'Save' or 'Discard changes' buttons.
Actual Behavior
On activating 'Save' or 'Discard changes' buttons, contrast ratio for 'Selected' list-item is '1.37:1' with it's background which is less than '4.5:1' (Required).

classic XAML.

OS in light theme
app in dark theme
hit discard

Guess I'll just go plaster more RequestedTheme calls everywhere.

ffda8c4 ✅
1825ca1 ❔
e106c09 ❌

Looks like this was happily accidentally fixed in #15162, and I believe that's in 1.18.1041


Made mobile padding more readable. Made dates local to timezone of th…

…e client browser
Padding made text hard to read on mobile so I reduced the margin for mobile. Timezones are local to the server machine, so stuff I had posted today was showing up as being posted from yesterday (also because Date.now() is local to the browser), so i localised both times so that ends up being correct.
Second commit I accidentally labelled incorrectly. It was to fix the links forcing the date down a line when they get too long.
Third commit is to not convert the date if the date is already local. As this was screwing up the timezone on my local machine. My live wasn't being affected since the date was coming from my server which seems to be UTC be default

You are creating the PR from 2.7.8 version.
Please, first update your version to the latest version (2.8.1) and do a new PR 😄

How do I do that?
I literally just forked it last night. I just tried setting your repo as a new remote and pulling, but I'm getting an already up to date.

Nevermind, i know what i did. I am use 2.7.8 with my actual theme, but i forked this and copied the changes over. I'll fix it now


Properly handle pagination when GCS doesn't give us full results.

cc @fweikert @philwo

Fixes https://github.com/bazelbuild/bazelisk/issues/239

A unit test would be nice, too, but for now I would be happy enough if this has been tested manually.

A unit test would be nice, too, but for now I would be happy enough if this has been tested manually.

Yeah, I tested manually by adding &maxResults=10 to the URL and observing the results.


Replace around_filter with around_action

around_filter is deprecated in rails 5+ and will be removed in rails
5.1. Enable marginalia to work with rails 5+ by replacing the use of
around_filter with around_action.

LGTM


Add Secret to Key Vault Script QoL Suggestions

https://docs.microsoft.com/en-us/azure-stack/user/azure-stack-solution-template-service-fabric-cluster#add-a-secret-to-key-vault
1.) We already have documentation on how to connect to Azure Stack as a tenant user, so you can remove Login-AzureRMAccount and parameters from the script
https://docs.microsoft.com/en-us/azure-stack/user/azure-stack-powershell-configure-user
2.) I was confused by the resource group creation. I assumed this is the same resource group I would deploy service fabric to, but that requires an empty resource group. A comment to make this more clear would be helpful.
3.) Does this need to be updated to reflect the missing parameters in the screenshot per this link?
https://github.com/MicrosoftDocs/azure-stack-docs/issues/344

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

ID: 80a333ac-8208-4146-2d99-6b6258b64a3f
Version Independent ID: 30341430-ba3a-ae9e-5599-5ed618e9213a
Content: Deploy a secured Service Fabric cluster in Azure Stack
Content Source: azure-stack/user/azure-stack-solution-template-service-fabric-cluster.md
Service: azure-stack
GitHub Login: @mattbriggs
Microsoft Alias: mabrigg

@easyveazie Thanks for the feedback! We are currently investigating and will update you shortly.

@easyveazie Thanks for your feedback. Some of these items I can address. Other's don't really seem to be things I would should be updated.
1.) I am going to leave these steps here. A user who has been using Azure Stack will be aware that these are the steps to login into Azure Stack. A new users will need these steps, and seems prudent to leave the in place.

I have a question out to the engineering team who is more familiar with the specific of the Azure Stack Service Fabric RP. That does look confusing to me as well. It would seem logical to use the resource group created in the PowerShell step, rather than creating a new one "Deploy the Marketplace item" Step 2.

3.) Does this need to be updated to reflect the missing parameters in the screenshot per this link?
#344. I will review.
#in-progress

Oh in writing up my question, I see that the PowerShell script is creating the resource group for the KeyVault. Not sure if this should be the same resource group as the cluster. But I have a question out regardless.

@mattbriggs , when you deploy the Service Fabric template it requires the resource group to be empty. So the keyvault resource group is separate from the service fabric infrastructure.

@easyveazie Thanks for following up. From engineering regarding the resrouce groups being different or the same, "It doesn’t have to be... It just makes practical sense in the interest of keeping all secrets and the app in the same RG. But that aside – the dataplane of KV doesn’t distinguish Resource Groups."

@please-close


Adds backend job execution with artifact refresh

Because it uses Future.result() it is blocking. It is now non-blocking.
We might have to tweak something in the config as the server doesn't output anything to the command line unless you spam Go, or the process executes, making it extremely difficult to tell if it is working. Workaround is to send json back to the UI with the info you want and log it to console to see if it worked server-side.

[x] Execute jobs dispatched by UI
[x] Non-blocking
[x] Disallow empty fields
[x] Disallow empty dropdowns

TODO (Separate PR): Disable Workflows that don't have all needed inputs #33

[x] Refresh artifacts list once completed using promises

Resolves #29

This one should be ready to go, waited to ping you since Friday was so busy. Can you review, @ebolyen?

@jakereps It doesn't seem to be creating output anymore.

I think it is because the Future doesn't complete until you block for it. add_done_callback won't help until you wait on it. @gregcaporaso @jairideout does that sound right? I know we ran into this issue before...

Hmm, it seems to be working as expected on my end? The add_done_callback is correctly toggling the completion status in the global dict and clearing the jobs/refreshing the new Artifact once the job is finished on the front-end. Any errors being thrown in terminal or on the JS console?

The Workflow.to_script() used in the SubprocessExecutor currently doesn't create the Artifact(s) using the .qzf file extension, so it's required to be included in the output filename input on the UI. Could that be the issue, as I know that tripped me up while I was working on it? It'd output the file as an extension-less Artifact, so it wouldn't be found during the refresh.
Also is that something that would be good to add to QIIME2? Like an iteration through ouput_artifact_filepaths to check if path.endswith('.qzf') and will automatically add it to the path if it's missing, or will there be circumstances where the output won't be an Artifact?

We figured out what the issue is. Not the path/extension, but an inconsistency on the python path being used to launch the subprocess. Linux is using the default Python, and not the conda environment, while OSX is using the correct current environment's Python. Opened #34

Opened PR #35 to handle that issue. I'll review this soon!

Done reviewing @jakereps, couple of suggestions, let me know if you have any questions!

Thanks, @ebolyen! Should be good for another round after testing. Only thing that wasn't changed was using the process id vs. job id, as it doesn't seem possible at the moment unless a tuple is returned from the qiime2 executor containing the job object.

Thanks @jakereps, would you mind posting an issue regarding the Executor
not having the Job object? Thanks!
On Thu, Jun 16, 2016 at 2:53 PM, Jorden Kreps<EMAIL_ADDRESS>wrote:

Thanks, @ebolyen https://github.com/ebolyen! Should be good for another
round after testing. Only thing that wasn't changed was using the process
id vs. job id, as it doesn't seem possible at the moment unless a tuple is
returned from the qiime2 executor containing the job object.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/qiime2/qiime-studio/pull/32#issuecomment-226624945,
or mute the thread
https://github.com/notifications/unsubscribe/ADyuZDaLCm9cLZpvyxRW_u_HPGIhHu52ks5qMcXPgaJpZM4IyfwZ
.


[feature] add one query MAX_EXECUTION_TIME for mysql5.7.8

sometimes php script timeout ,but the query for db server still running , that bring too much load or read-write to the mysql server, the mysql5.7.8+ add the MAX_EXECUTION_TIME for select can timeout query by mysql server
https://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html#optimizer-hints-execution-time

Heya, thanks for submitting this. This seems like a feature request or an improvement. It's best to post these at the laravel/ideas repository to get support for your idea. After that you may send a PR to the framework. Please only use this issue tracker to report bugs and issues with the framework.


Problem with bundle, when react-jss alias

I try to use react-jss like an alias in my App. And have some problem with my bundle.
resolve: {
        alias: {
            react: path.resolve('./libs/react-16.4.1.debug.js'),
            React: path.resolve('./libs/react-16.4.1.debug.js'),
            'react-dom': path.resolve('.libs/react-dom-16.4.1.debug.js'),
            classnames: path.resolve('.libs/classnames-2.2.5.debug.js'),
            'react-jss': path.resolve('../node_modules/react-jss/dist/react-jss.js'),
        },
        modules: [NODE_PATH],
        extensions: ['.js', '.jsx', '.json', '*']
    },

and my loader:
rules: [
            {
                test: /\.(js|jsx)$/,
                use: {
                    loader: 'babel-loader',
                },
                exclude: /node_modules(?!(\/|\\)libComponents)/,
           },

libComponents - it's my library where I use react-jss, react, react-dom like a peerDependency.
My error:
Uncaught Error: Cannot find module 'React'
    at webpackMissingModule (react-jss.js:3)
    at webpackUniversalModuleDefinition (react-jss.js:3)
    at Object.../node_modules/react-jss/dist/react-jss.js (react-jss.js:10)
    at __webpack_require__ (bootstrap:724)
    at fn (bootstrap:101)
    at Object.../node_modules/libComponents/src/components/index.js (createTheme.js:17)
    at __webpack_require__ (bootstrap:724)
    at fn (bootstrap:101)
    at Object.../node_modules/libComponents/index.js (index.js:1)
    at __webpack_require__ (bootstrap:724)

How to resolve this bundle problem? I really need to use react-jss like a peerDependency

not sure whats this exactly, but it seems like a problem with your webpack config, not with JSS, if you can show why its a problem with react-jss package, please reopen.

@kof 'react-jss': path.resolve('../node_modules/react-jss/dist/react-jss.js'), don't understand React library. It's not a problem webpack config

@kof I can't use this library, using just dist file: react-jss. And I think, the problem not in my own configuration

I looked into the dist file it has this
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("React"));
	else if(typeof define === 'function' && define.amd)
		define(["React"], factory);
	else if(typeof exports === 'object')
		exports["reactJss"] = factory(require("React"));
	else
		root["reactJss"] = factory(root["React"]);

Looks like we should require('react') but access root.React from the window. So if you have a require currently it will try to require('React') starting from upper case.

@kof Sure, and if you can see, I add this opportunity in my alias
alias: {
react: path.resolve('./libs/react-16.4.1.debug.js'),
React: path.resolve('./libs/react-16.4.1.debug.js'),
'react-dom': path.resolve('.libs/react-dom-16.4.1.debug.js'),
classnames: path.resolve('.libs/classnames-2.2.5.debug.js'),
'react-jss': path.resolve('../node_modules/react-jss/dist/react-jss.js'),
}

Not sure why then ... can you provide  a quick runnable example?

btw @TrySound @HenriBeck I just looked into the new bundle
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
	typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
	(factory((global.reactJss = {}),global.react));
}(this, (function (exports,React) { 'use strict';

In this case we require correctly lower case, but global.react probably won't exist, I guess it would be upper cased.

I think toCamelCase wrongly converts globals. It's better to provide explicit globals object.

Yep, we need to capitalize the first char.

camelcase with pascalCase option may do this.

The problem is that you are using the umd distribution and you should use the cjs version.
On 1. Oct 2018, 11:55 AM +0200, Bogdan Chadkin<EMAIL_ADDRESS>wrote:

camelcase with pascalCase option may do this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@HenriBeck Globals are the problem too. window.React and window.ReactDOM are provided by react itself.

@kof ok(when I capitalize first letter), now after rebuild I have another problem:
react-jss.js:2911 Uncaught TypeError: Cannot read property 'CSS' of undefined
    at Object.<anonymous> (react-jss.js:2911)
    at Object.<anonymous> (react-jss.js:2928)
    at n (react-jss.js:30)
    at Object.<anonymous> (react-jss.js:2202)
    at n (react-jss.js:30)
    at Object.<anonymous> (react-jss.js:1779)
    at n (react-jss.js:30)
    at Object.<anonymous> (react-jss.js:1697)
    at n (react-jss.js:30)
    at Object.<anonymous> (react-jss.js:1573)

You can check this problem in my Repo https://github.com/ximet/ReactBoilerplate branch: master

What webpack version are you using? its this line var CSS = global.CSS; looks like your webpack doesn't polyfill global

Why are you actually trying to use dist instead of lib?

Wait, the bundle itself  is actually polyfilling global, I don't know why it can't find it in your case
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global) {'use strict';

	Object.defineProperty(exports, "__esModule", {
	  value: true
	});
	var CSS = global.CSS;

	var env = ("development");

	var escapeRegex = /([[\].#*$><+~=|^:(),"'`])/g;

	exports['default'] = function (str) {
	  // We don't need to escape it in production, because we are not using user's
	  // input for selectors, we are generating a valid selector.
	  if (env === 'production') return str;

	  if (!CSS || !CSS.escape) {
	    return str.replace(escapeRegex, '\\$1');
	  }

	  return CSS.escape(str);
	};
	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

@kof because global === undefined

@ximet obviously, but why is it undefined, see the code above, also check if you are actually using the code above.

@kof I using a vendor, because all our libs in App have this flow.
Yes, I check, and I using code above. And my webpack: 4.20.2 with babel 7

@kof and one more point: I have all dependency on the next path: window.vendor.React
And in this case, I really need to use alias for bundle

About polyfill, I check my entrypoint and find in the 1st line: import "@babel/polyfill";
It's correct connect polyfill to app, I checked in doc

Why do you have all of your vendors on window.vendor.React? Why don't use the normal import way?

@HenriBeck because it's our standard in project

Can you then create a repo with the issue for us to check out?

global should be the window but apparently it isn't. Maybe thats because you use it on window.vendors.ReactJss?

Build the library, using cjs and everything OK.


Deferred of subscribed functions does not seem to be resolved

A function is annotated with @subscribe and registered with ApplicationSession.subscribe via a class. This function uses inlineCallbacks to prevent blocking the reactor. The code had an error and was throwing an exception, but there was no way to know about the exception except weird bugs resulting from it.
I assume you do not resolve the future from subscribed functions, because their return value is not relevant. It would be helpful to have the exceptions logged though.

Examining the Autobahn code, it should be going through _swallow_error if invoking the subscribed procedure fails, which should result in a log message. What version are you using? I tried a quick test modifying one of the pubsub examples, and I do see the logs.

This was originally tested in autobahn==0.10.5.post2 but I upgraded to autobahn==0.10.9 and the problem still exists.
@subscribe(u"xxx.yyy.zzz")
@inlineCallbacks
def Foo(self, arg1, arg2, arg3, arg4, _wampDetails=None):

    print("~~~~~~~~~~~~~ THROWING ~~~~~~~~~~~~")
    raise ValueError("test")
    print("not reached")

The logs of the component:
2015-09-30 14:46:58+0200 [Container   20261] RX WAMP EVENT Message (subscription =<PHONE_NUMBER>036860, publication =<PHONE_NUMBER>130762, args = [20, 6,<PHONE_NUMBER>81644320, u'init    '], kwargs = None, publisher = None, topic = None)
2015-09-30 14:46:58+0200 [Container   20261] ~~~~~~~~~~~~~ THROWING ~~~~~~~~~~~~

Running as a container in crossbar master I can repeat this. I moved it to a crossbar bug.
Thanks for the report!


s390x support for kubevirt builder image.

What this PR does / why we need it:
This pr adds the s390x support to kubevirt builder image.
cc: @brianmcarey
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

@vamsikrishna-siddu is this already ready for review? I see at least a couple of commits that are independent for the s390x support. Do they have a separate PR? If so, could you please reference it in the description and set this PR as draft or mark it WIP.

@vamsikrishna-siddu is this already ready for review? I see at least a couple of commits that are independent for the s390x support. Do they have a separate PR? If so, could you please reference it in the description and set this PR as draft or mark it WIP.

Hi @alicefr  let me fix it  the other changes are from the previous commits from main.

Closing this pr i will create another pr after fixing the issues.


downloading a folder or multiple files with an android browser should return a ZIP file

Is your feature request related to a problem? Please describe.
When trying to download multiple files with an browser on android, ocis presents a TAR file, I tried it on multiple phones and every time I had to install an extra app to open TAR files
Describe the solution you'd like
download the data as a ZIP file when requesting with Android
Describe alternatives you've considered
always download the data as a ZIP file, regardless of the
OR
make it configurable for the admin
Additional context
code path in question: https://github.com/cs3org/reva/blob/6748a5ff45e9a46b58af1f14421be150e88f8e3a/internal/http/services/archiver/handler.go#L254-L270

the api MUST allow a query parameter for the output format

blocking: https://github.com/owncloud/web/issues/11080

the api MUST allow a query parameter for the output format

Is that the way to go? From what I have seen the existing code could also be modified to provide ZIP for Windows/Android/iOS/MacOS with tar as fallback (assuming it's a Linux client), which may be the "easier" solution?

the api MUST allow a query parameter for the output format

Is that the way to go? From what I have seen the existing code could also be modified to provide ZIP for Windows/Android/iOS/MacOS with tar as fallback (assuming it's a Linux client), which may be the "easier" solution?

Related issue is to provide zip files on web for all sort of clients. So this is the way to go.
Fallback can be possible. But the API accepting a format output should be implemented

Decided with @kobergj and @kulmann that we will eliminate the output format via user agent, default will be zip, out format can be set via query param e.G output-format=zip or output-format=tar
We also need to adjust the documentation

We decided to switch the default to .zip and remove the os specific logic. Clients can request .tar files if they want to.
Any objections against using the Accept header for this? https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept
Or should we rather add a parameter for this endpoint specifically e.g. archive-type=zip ?

Much objections. Please just use the query Params. There are designed for that use case

Any objections against using the Accept header for this? https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept

accept header sounds reasonable

Does not. We build restless easy to document APIs. This is adding a unnecessary complex layer.

Accept header is an integral part of the http standard which is the basis for REST.
But I don't care much. Just sharing perspectives. 🤷

A lot of out dated API designs are based on http

Just leaving some thoughts here

The Accept request HTTP header indicates which content types, expressed as MIME types, the client is able to understand

The key point is "understand". This means that the client could do some preprocessing / analysis of the file if the server sends it in the requested format. If the client receives the content in a different / unexpected format, it could cause problems in the client.
In addition, if the server can't provide the content in the requested format (in the "Accept" header), the server should respond with the 406 (Not Acceptable) code.
For our particular case, I don't think the client needs to care about the specific format because it just needs to save whatever stream of bytes it receives. Our client doesn't need to "understand" the content.
It should be fine that, even if the client requests a ".zip" file, the server sends a ".tar" file for whatever reason. As long as it's documented that we'll try to send the right format but we could send a different one, it should be fine.

🙏

@jvillafanez sorry I don't get it. Is that a +1 for the Accept-Header or for the archive-format query parameter?

I'd vote for the archive-format with my reasoning above. We have more flexibility on how the behavior we want to have.
In addition, the Accept header can have multiple mimetypes with different priorities, so we'd need to handle those cases. Comparing that against a simple archive-format with just 2 or 3 possible values...


[bug?] Shadow Endpoints fails to hydrate big data sent to their matching page because it is truncated. causing SyntaxError: Unexpected end of JSON input

Describe the bug
i originally came to this issue when trying to use shadow endpoints for the first time:

EDIT: there are more discovery points in subsequent comments below.
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-ahljwi?file=src/routes/about.svelte
npm run dev
and go to the /about endpoint
Logs
9:03:33 PM [vite] hmr update /src/routes/about.svelte

System Info
this is my mac envinfo since stackblitz doesnt seem to be able to run envinfo
  System:
    OS: macOS 11.4
    CPU: (8) x64 Apple M1
    Memory: 51.47 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.4.1 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.18.1 - /usr/local/bin/npm
  Browsers:
    Chrome: 98.0.4758.80
    Safari: 14.1.1
  npmPackages:
    @sveltejs/adapter-netlify: ^1.0.0-next.44 => 1.0.0-next.44
    @sveltejs/kit: ^1.0.0-next.260 => 1.0.0-next.260
    svelte: ^3.44.3 => 3.46.4

Severity
blocking an upgrade
Additional Information
No response

Works for me on the stackblitz link you sent

ok verified that when i try the stackblitz in incognito it works. so it just means i've been unable to make a stackblitz repro, because i'm definitely seeing this error locally.
the error:
SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Renderer.start (http://localhost:3000/@fs/Users/swyx/Work/swyxkit/.svelte-kit/runtime/client/start.js:739:20)
    at async start (http://localhost:3000/@fs/Users/swyx/Work/swyxkit/.svelte-kit/runtime/client/start.js:1484:15)

and when i look at that code in start.js it does this
				if (is_leaf) {
					const serialized = document.querySelector('[data-type="svelte-props"]');
					if (serialized) {
						props = JSON.parse(/** @type {string} */ (serialized.textContent));
					}
				}

ok i added a debugger and confirmed that sveltekit seems to be truncating my json sent over the wire somehow, and therefore sveltekit is failing to JSON.parse it

when i look for the source of the bug i see that when the json data is embedded in the page, it is truncated abnormally

@sw-yx there are multiple issues on that page, it looks like something with encoding, all of those line breaks should be hidden, on:click shouldn't be there also.

Yeah, I reproduced it on both stackblitz and local, I'll try to debug it.

JSON.stringify makes a string but then JSON.parse fails to parse it, because because of those html elements in the string, the HTML becomes malformed and it breaks.

WOW, amazing, thank you so much @PH4NTOMiki !


Create a waker for the SimplePwm to be able to synchronize ADC with PWM

Here is my use case:
The SimplePWM does create a pwm for a motor. At the start of the pwm cycle the motor is enabled. A millisecond after this event I want to measure the current of the motor with ADC.
The moment of measuring is crucial: if the ADC is not synchronized with the PWM, basically I get a random value for the current, as I do not know if the sampling was done during the low time or the high time of the PWM.
So what I need is the possibility to register a waker on the SimplePWM start-of-cycle event, which can wake a user task for starting the adc conversion.
I cannot find something like InterruptHandler in timer for embassy-stm32, so I think my request is not yet implemented!
A possible implementation could be that in user code one can await the start-of-cycle event.

Does the current of the motor change over the duration of the pwm period? If it does, you would need a hardware ticker to sample the current. That's currently not implemented, but I would like for it to be.

So what I need is the possibility to register a waker on the SimplePWM start-of-cycle event, which can wake a user task for starting the adc conversion.

This is one of the rare times that the core will be too slow to get an accurate measurement. You will need to bypass the core if you want any kind of accuracy.
I can help you implement this if you want to discuss further in matrix. I am probably one of the few people around here that cares about power electronics.

The pwm frequency in my case is 100 hrz, so I think that embassy is fast enough. Realtime accuracy is not what I need here, if the measurement time has a jitter of 2 ms it does not harm the use case.
For high frequency pwm (>25 Khz) I think that RTIC is better suited for the case than Embassy. Or even a combination of those two.
Yes the current does change, during the off state the current will flow back to the supply over the fly back diodes. No current will go through the measuring resistor then.
For motor control (for example bldc motors) you need a very fast part (for example for measuring the zero crossings). It could be a requirement on the roadmap to integrate the RTIC functionality inside embassy, so that one has a very fast interrupt driven real time part, and a async driven semi real time part.
I will start implementing my use case, (possibility to await the start-of-cycle only for SimplePwm and only for the stm32g0). I will create a pull request when its finished. Can take a few weeks.

I personally would like to avoid real-time code to the extent possible. RTIC can be avoided with DMA and a hardware ticker, and can produce better results as well. Of course I will not reject an intermediate solution, but that is the direction that I want to go in.

It would be better for you to use hardware triggers for ADC, so that once the timer reaches a certain threshold, ADC conversion automatically starts without any software intervention. If you are driving a 3-phase motor with STM32, you can use the 4-th channel of TIM as ADC trigger. Additionally, you can use injected mode, so that up to 4 channels of data can be directly stored in ADC registers, no DMA is needed. For a reference see ST RM0440 (STM32G4 reference manual) 21.4.18 Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN).
This method is not directly supported by embassy though, and you have to directly manipulate registers to do this.


Minimum Umbraco version of 7.6

The first step for this is done - now it's just a matter of updating things with the property value converters

I would like to know when are you planning to release a new version.

As soon as it's ready and i have time to finish this version, i would like to release in the next 2 weeks but who knows if i find the time.

ETA?


Websocket proxy nginx conf fix.

https://github.com/flet-dev/flet/pull/748#event-8119098225

 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.Mehmet Fatih Güman seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

What issue does this PR fix (looks like you posted a link to unrelated discussion)?

What issue does this PR fix (looks like you posted a link to unrelated discussion)?

My websocket problem in nginx was solved when I replaced keep-alive with "upgrade". Other changes were accidental, I guess. If you think that the "upgrade" solution is correct, I can throw another PR and eliminate what I changed wrong.

I've checked the number of sources and looks like proxy_set_header Connection "upgrade" is the correct solution which worked for you.


More about #9718: Updating the docs

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#9718

Adding some clarifications to the documentation as discussed with @samdark in #9718 .

Thanks.


Fix infinite loading when opening a workspace page after login

Details

The app never calls OpenApp request when opening a workspace page after login.
Fixed Issues

$ https://github.com/Expensify/App/issues/36442
PROPOSAL: https://github.com/Expensify/App/issues/36442#issuecomment-1944336046
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Log out
Go to some WS link, e.g. https://staging.new.expensify.com/workspace/adsasddssad/rateandunit (doesn't matter if policy exist or not)
Log in
Verify the loading indicator is shown. Wait for a few seconds for the app to load
Verify the app loads complete and a not found page or workspace page is shown

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/b64af76c-7933-4f44-be22-c5b81d3b7e65

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/42a1f4d3-c337-4439-9815-29f65fd39c40

iOS: Native

https://github.com/Expensify/App/assets/50919443/4bd02219-a23f-45f2-bf30-021ab2f7ad95

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/2ebef96b-d3b9-4d00-9279-d33f3dafd364

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/6c28adbb-60f0-491c-aac6-6fa13e84c33e

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/79fc4126-8b55-4b42-a200-1fd6694683f3

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.44-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Slideout Bugs & Enhancements

[x] - Ideally address ASAP: pdf view takes to page 1 and not to right page in pdf view
[x] - Ideally address ASAP: slide out should close if anyone does anything else on page e,g filters
[ ] - Ideally address ASAP: slideout menu (vertical 3 dots) not intuitive

Will need more feedback/ideas on the menu


implement pfr::get by type

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
378

Relevant Lines:
378

💛  - Coveralls


Add mx3creations.com

Wasn't able to test this, but it should work just fine

Hi, @ewen-lbh. Could you please resolve conflict with manifest file so I will merge your PR?


Apparently no implementation to validate hashes

I find myself needing to reverse engineer this a little bit as I can't find a public function that allows me to validate an entered password against a known hash.

Unless you have a specific need for the library as per https://www.zer7.com/software.php?page=cryptsharp
For hashing passwords, I'd recommend bcrypt & https://github.com/BcryptNet/bcrypt.net which is maintained and has been checked.


Fix CAA parsing

Enables direct parsing of CAA records instead of parsing them as RFC3597 records. This allows the Boulder developers to clear CAA record parsing code out of our code base.
I tested this against almost all the CAA records I could find in the wild (relevant gist) and everything seems to be working correctly...

Think this is a good start, but I'm not sure the value's type should be hex, but just a string or something new, because there is no length to be prefixed.

I'd add 2 cents that it needs some added testcases in types_test.go

Yep, some test cases would be nice. The wireformat should be OK, when using the hex tag, except I don't think it should be hex, example from the RFC include:
.       CAA 0 issue "ca.example.net; account=230123"

Let's check what BIND does :)
/ # dig CAA madtech.nl +short
2 auth "0>09\006\010+\006\001\004\001\214y\002\003\001\006\009`\134H\001e\003\004\002\001\004 y\209\012\221r\220\156Q\218\150\150{\166\245:\231\182%\157:\133\179}\1923r\238\151\255\128q\145\002\001\000"

So this is parsing it just as a string, but the downside of using just a string is that it will prefix it with the length of the string in the wiredata, something the RFC says should not happen as it is the last field in the data, hence my use of octect to check for this, but a better name would be preferred.

I've switched to parsing the presentation format in setCAA and CAA.String and added a parsing test, I also switched back to the octect tag because I couldn't come up with anything... better (var-str..?). I'm not completely confident about the wiredata packing I've implemented so any comments would be especially appreciated.

Looks good. There is some code duplication, but I will clean that up in another PR.


Not detect .scss extension

The problem is when I try to do a build with esbuilt, breaks because the plugin have issues for detect files without extension like **/index. For example in this case the plugin don't know detect the file's extension because have 2 with the same name (index)

in this way call to file:

sorry to contradict but the plugin is built to handle this
https://github.com/glromeo/esbuild-sass-plugin/blob/75d27ec374373e796738fe35f987f7d09acf9fd8/src/render.ts#L43-L46
and I have verified this personally, I am going to close this but if you really want help
please create a github repo that reproduce the issue and I will look into it

I had the same issue, especially with scss files inside dependencies.
I worked around the issue using importMapper
    plugins: [sassPlugin({
        importMapper: (path) => {
            if (!path.endsWith('.scss')) return path + ".scss";
            return path;
        }

    })],


In dev build, edgedb can't connect to default edb server

OS Version: Ubuntu 20.04

Make a fresh venv, and follow the https://www.edgedb.com/docs/internals/dev instructions
edb server
edgedb

Error: Error authenticating: ERROR: AuthenticationError: database "sully" does not exist
Also:
$ edgedb -d edgedb
Error: Error authenticating: ERROR: AuthenticationError: authentication failed

Fixed in edgedb/edgedb-rust@ad5a354 and edgedb/edgedb-cli#189

I still observe this problem. Am I doing something wrong?

Should have been fixed in edgedb/edgedb-cli#190. Please reopen if you have more issues.


About apollo.sh build

WARNING: Running Bazel server needs to be killed, because the startup options are different.
How can I do for consolve this warning.
Then rosbag，print command not found.

You can use
bazel shutdown

to restart the bazel server.
In the dev docker, after you build apollo by bash apollo.sh build, you should be able to use rosbag command.


NPM module load issue

Hi,
We have noticed that sometime when we run npm install pure-react-carousel does not create dist folder inside npm node_module/pure-react-carousel which breaks our build.
Would you be able to help me on this?

@PraveenVerma17 are you not seeing a dist folder? What version are you using?

Hi
Sorry, We have removed this component from our application. I will check our commits and let you know the version.


Added lowerDTROnOpen configuration option

Added option to lower the DTR line on open

@tedjpoole Thanks for this extra feature ! What was your use case ?

Thanks for the merge. I just wanted my devices to start in a known state (reset) when serial2mqtt connects to them.


Silence noisy (and useless) MSVC warnings

This one is ready, the build output is not so noisy now. The silenced warnings mostly match whe ones we have for other compilers.


Support "2 Click Install" feature

Proposed Changes
Support for uploading custom maps without audio files to BeatSaver

Add requiresExternalAudioFile  boolean to the beatmap metadata
Set requiresExternalAudioFile to true if the zip file contains audio.json and fingerprint.bin
If requiresExternalAudioFile, determine song length via audio.json instead of ffprobe
If requiresExternalAudioFile, disable in-browser preview functionality
If requiresExternalAudioFile, show "bring your own song" indicator in stats area

Platforms
This pull request modifies: (select all that apply)

[x] Client
[x] Server

Types of Changes
This pull request is contains: (select all that apply)

[ ] Bug fixes (non-breaking change which fixes an issue)
[x] New features (non-breaking change which adds functionality)
[ ] Breaking changes (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have read the contribution guidelines
[x] I have checked the changes adhere to the project's style guide and all tests pass
[x] I have (to the best of my ability) checked for vulnerabilities, or any ways that my code could be abused and concluded that it is safe to run in production

Further Comments
This is part of a series of changes aimed at allowing custom maps to be created, uploaded, and used all without distributing any song file directly (instead the user must supply their own song).
https://github.com/lolPants/beatmap-schemas/pull/10
https://github.com/Assistant/ModAssistant/pull/232

@lolPants do you have any thoughts about this?


Updates to compile on latest commit of ResearchKit Stable branch

Objectives

Build on RK Stable branch, latest commit of AppCore, and BridgeSDK.
Adapt to APCOnboardingManager changes.
Bring Parkinson-specific code into the app in subclasses of APCBaseTaskViewController (APHIntervalTappingTaskViewController.m, and APHSpatialSpanMemoryGameViewController.m).

r=me.


WIP docs: updates to stream guide from antoinevg/stream-guide

Edit for consistent terminology
Expand guide content
Fix typos
Bring rust get_started example code in line with guides
Apply failing linter fixes

There are some changes to the other guides and examples. Those seem like reformats. Can we delay those until we do a final merge?

There are some changes to the other guides and examples. Those seem like reformats. Can we delay those until we do a final merge?

They are the fixes for the linter errors, they're in a separate commit so easy to keep back during the merge.


Dart sdk error in html_permissions_manager

🐛 Bug Report
Dart error occurs while checking html permission.
I use the location_picker_flutter_map dependencies which uses flutter-geolocator. I use dependencies with Flutter web. When the location permission is activated it works correctly however when I deactivate the browser permission, the FlutterLocationPicker class gives me the error "Location Permission is denied forever" but the script stops in the HtmlPermissionsManager class
When I continue to run the code I get the following errors:
ChromeProxyService: Failed to evaluate expression 'permissionsSupported': InternalError: Expression evaluation in async frames is not supported. No frame with index 17..
ChromeProxyService: Failed to evaluate expression ''permissions_manager': InternalError: Expression evaluation in async frames is not supported. No frame with index 17..
Error: Location Permission is denied forever
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 321:10  createErrorWithStack
dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 337:28            _throw
dart-sdk/lib/core/errors.dart 120:5                                           throwWithStackTrace
dart-sdk/lib/async/zone.dart 1386:11                                          callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
Use Flutter web with location_picker_flutter_map dependencies and location Permission deactivated on the browser
[✓] Flutter (Channel stable, 3.10.1, on macOS 13.3.1 22E772610a darwin-arm64)
• Flutter version 3.10.1 on channel stable
• Framework revision d3d8effc68 (il y a 2 semaines), 2023-05-16 17:59:05 -0700
• Engine revision b4fb11214d
• Dart version 3.0.1
• DevTools version 2.23.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Can you help me to solve this problem please? thanks in advance.

Hi @Bylinkk, thank you for taking the time to file this issue and include the error trace and versions of relevant tools!
To effectively dive into this issue, a minimal code example works wonders. Especially in this case, as the error can originate from flutter-geolocator, but also from location_picker_flutter_map. You can create a minimal setup easily by creating a new flutter project and tweaking main.dart to achieve the behavior you require. Then, you can send the contents of main.dart here so others can reproduce and look into the issue.

Hi @JeroenWeener,
thanks for taking the time to respond. Here is a sample code with only the location_picker_flutter_map dependency. trackMyPosition is enabled and the error appears immediately when location access has been denied in chrome.
import 'package:flutter/material.dart';
import 'package:location_picker_flutter_map/location_picker_flutter_map.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Location Picker',
      home: OpenStreetMapView(),
    );
  }
}

class OpenStreetMapView extends StatelessWidget {
  const OpenStreetMapView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    String errorMessage = "";
    return MaterialApp(
      title: 'Choose adress',
      debugShowCheckedModeBanner: true,
      home: Scaffold(
        body: FlutterLocationPicker(
            initZoom: 15,
            minZoomLevel: 5,
            maxZoomLevel: 16,
            trackMyPosition: true,
            searchBarBackgroundColor: Colors.white,
            selectLocationButtonText: "Confirm",
            searchBarHintText: "Search",
            mapLanguage: 'en',
            onError: (e) {
              switch (e.toString()) {
                case "Location Permission is denied":
                  errorMessage = "Location Permission is denied";
                  break;
                case "Location Permission is denied forever":
                  errorMessage =
                      "Location Permission is denied forever";
                  break;
                default:
                  errorMessage = e.toString();
              }
              errorMessage.isNotEmpty
                  ? ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                      behavior: SnackBarBehavior.floating,
                      content: Text(errorMessage)))
                  : null;
            },
            onPicked: (pickedData) async {
              print(pickedData.address);
            }),
      ),
    );
  }
}

Can someone help me ? Thanks in advance

Hi @Bylinkk, reading your comments, it appears that your issues are not caused by geolocator. I am therefore going to close this issue.
Nevertheless, I could offer you some help with your issue regarding ScaffoldMessenger. Could you provide me with the error you are getting? ScaffoldMessenger seems like a good fit for your use case. Also, is there a reason for declaring errorMessage at the start of the build function, instead of in onError?

Thanks you for you quick come back !
The script stops in the following function: final html.PermissionStatus status = await _permissions!.query(
_permissionQuery,
); of the HtmlPermissionsManager class
yes, I could declare the variable errorMessage in the onError!

Hi @Bylinkk,
Unfortunately, without more code, I cannot offer much assistance. It seems that query() does not return, but that is all I can tell from the code snippet you provided.

Hi @JeroenWeener, thanks for your help,
To avoid spending too much time on it, I worked around the problem by adding the message under the card and not in a ScaffoldMessenger like this
if (errorMessage != '')
              Container(
                color: Colors.red,
                padding: const EdgeInsets.all(8),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    const Icon(Icons.warning, color: Colors.white, size: 16),
                    const SizedBox(width: 8),
                    Text(
                      errorMessage,
                      style: const TextStyle(color: Colors.white),
                    ),
                  ],
                ),
              ),

I'll leave it like that for now. Thanks again for your help and support.


missing data values are assigned as lowest possible value in Z and VRAD

Closed by commit
https://github.com/adokter/baltrad/commit/95ef29a817e31ca38b896b10e4be72f4a7fe261e


fix(common): decode errors during writeContract

workaround until https://github.com/wevm/viem/pull/2624 lands
fixes https://github.com/latticexyz/mud/issues/3042
before:

after:

(note "module already installed" message, which came from being able to catch the decoded error)

this was landed in viem: https://github.com/wevm/viem/pull/2624
bumping viem to pull this in here: https://github.com/latticexyz/mud/pull/3038

actually, this is still useful because we call prepareTransactionRequest here, which is where estimation errors are thrown and this bypasses viem's error handling in writeContract
we won't need this once we refactor this to use the viem nonce manager and can just wrap writeContract in a queue without the additional prepare step, but will save that for a future PR

ended up refactoring our approach here, since we can use our nonce manager in the same way the viem one would be used and it cleans up a lot + improves error messages


Subscriptions implementation

Awaiting review from @Inctus and @RigidStudios

@siriuslatte View the above ^

I might suggest just not doing subscriptions entirely and letting people pass functions? @siriuslatte thoughts?

It's not a bad structure by any means to make subscriptions but not everyone will want to structure them like this, so who's to say we should force them instead of allowing (val) => { /* do stuff */ }

Have decided to implement subs more simply, allowing end users to add whatever abstractions they want on top.


implementing benchpress

Successful CI links AZDO Bicep CI , GH Bicep CI

you can find an example execution here; https://dev.azure.com/enpolat/symphony_test_2/_build/results?buildId=573&view=results

@polatengin I do not see the unit/modules tests integrated in the pipelines. this is a gap that we currently have and it would be good to fix it in the scope of this PR. can you please run those tests as part of the validate stage based on a flag similar to what we have in the terraform.

thanks for the comment @HadwaAbdelhalem. I created an issue here; https://github.com/microsoft/symphony/issues/236, I'll create a follow-up PR to address it 👍


Unbreakable flag not working with notable shields

On the more recent builds of Denizen (tested with latest developmental and stable builds) my notable shield items are not having the unbreakable flag applied to them.
ITEM_EVOCATION_SHIELD_MAGI:
  type: item
  material: shield,5[base_color=WHITE;unbreakable=true;flags=li@HIDE_ENCHANTS|HIDE_UNBREAKABLE|HIDE_POTION_EFFECTS]
  display name: <&b>Evocation Shield
  lore:
  - <&7>Durability: 3
  bound: true
  unbreakable: true

I generally put the unbreakable flag in with the material but now it doesn't seem to work. I tried adding "unbreakable: true" separately and that doesn't seem to work either. I can however get a unbreakable shield if I use /ex give shield[unbreakable=true] in-game but giving myself the notable item gives me the shield without it being unbreakable. The shield is the only durability item that is experiencing this issue.

You have to write it like this in order to work atm
shield[durability=5;unbreakable=true;flags=li@HIDE_ENCHANTS|HIDE_UNBREAKABLE|HIDE_POTION_EFFECTS;base_color=WHITE;]


Pre Gen gets stuck when leaving the world / stopping the server

Reported by CracaCG
As far as I can tell, this is a Minecraft bug. The entity used for keeping track of the current chunk simply disappears after rejoining, so it seems like it is not being saved properly for some reason.

As this was not reported by anyone else for a long time, I'm marking this as closed. If this happens again to anyone, please open a new issue.


On the issue of inability to propagate schema into a schema-less storage

So the problem happened when a data is loaded into a schema-less storage such as local file system or cloud storage. Such storage did not require the definition of schema for the data to be uploaded. And that poses an issue for this system, because there will be a gap between a schema-oriented storage and schema-less storage that are used as intermediaries such as data lakes.
To solve the issue, user's are required to include a custom Airflow task parameter to specify the schema.
For example:
json_schema = open('schema.json', 'r').read()

task_one = ExampleOperator(
    task_id='task_one',
    ...,
    tokyolineage_schema=json_schema
)

The parameter tokyolineage_schema is a custom parameter provided to the operator instance. With this approach, we can use that parameter to propagate the schema correctly.

⚠ Warning!
Custom parameter is not registered as an attribute for the object. Therefore it is impossible to pass the schema using custom parameter.
The only possible fix to this is to create a custom operator and register the custom parameter as an attribute. But that's a lot of work, so it's not preferred.


[FEATURE] Provider: kubectl

Similarly to the Docker provider, allow exploring Kubernetes resources. I assume the docker provider uses exec, so kubectl exec is a similar interface for kubernetes - at least for the pods.

I am actually planning on switching docker over to using the socket instead as its API is more "robust" and easier to handle interfacing with docker.
That said, I don't hate this idea. Would you be open to providing some guidance with it? I have effectively 0 experience with kubernetes.
As an aside I am unsure if this would be a core provider or a 3rd party one (IE part of netman.nvim or a standalone extension that is dependent on netman.nvim). I think the answer to that would be "how painful is this to setup and will it require external dependencies (aside from netman)?"


Fix duplicating word: "the"

What issue does this PR address?
No issue related to the PR.
Does this PR introduce a breaking change?
No, just a documentation updates.
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features)

Other information:
This PR fixes some duplicating words in documentation and comment sections

Thanks!